fix:endpoint module pipline 的json改为key-value , timestamp改为下拉

This commit is contained in:
zhangyu
2021-08-16 16:14:48 +08:00
parent e159467b54
commit 7a421d5cba
5 changed files with 187 additions and 37 deletions

View File

@@ -329,37 +329,43 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expression'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expression'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.expression" placeholder="key" size="mini"></el-input> <el-input v-model="item2.expression" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="'Source'" :label="'Source'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'json'"> <div v-if="item2.type === 'json'">
<label style="padding-bottom: 6px;font-size: 14px;line-height: 16px;color: #666;">Expressions</label> <label style="padding-bottom: 6px;font-size: 14px;line-height: 16px;color: #666;">Expressions</label>
<div v-for="(expressions, eindex) in item2.expressions" :key="eindex" style="display: flex;justify-content: space-around;align-items: center;margin-bottom: 16px"> <div v-for="(expressions, eindex) in item2.expressions" :key="eindex" style="display: flex;justify-content: space-around;align-items: center;margin-bottom: 16px">
<el-form-item <el-form-item
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex+'.key'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
style="width: 90%;margin: 0" style="width: 45%;margin: 0"
> >
<el-input v-model="item2.expressions[eindex]" placeholder="key" size="mini"></el-input> <el-input v-model="item2.expressions[eindex].key" placeholder="key" size="mini" ></el-input>
</el-form-item> </el-form-item>
<span style="display: inline-block;width: 10%"> =
<i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i> <el-form-item
<i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i> :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex+'.value'"
</span> :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
style="width: 45%;margin: 0"
>
<el-input v-model="item2.expressions[eindex].value" placeholder="value" size="mini" ></el-input>
</el-form-item>
<i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i>
<i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i>
</div> </div>
<el-form-item <el-form-item
:label="'Source'" :label="'Source'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'template'"> <div v-if="item2.type === 'template'">
@@ -368,14 +374,14 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="'Template'" :label="'Template'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.template'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.template'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.template" placeholder="key" size="mini"></el-input> <el-input v-model="item2.template" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'timestamp'"> <div v-if="item2.type === 'timestamp'">
@@ -388,10 +394,13 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="'Format'" :label="'Format'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.timestamp'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.format'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.format" placeholder="key" size="mini"></el-input> <!-- <el-input v-model="item2.format" placeholder="key" size="mini"></el-input>-->
<el-select v-model="item2.format" :id="'timestamp' + index +'-' + index2" class="right-box__select" placeholder="" popper-class="right-box-select-dropdown prevent-clickoutside" size="small">
<el-option v-for="item in timestampList" :id="'module-timestamp-'+item" :key="item" :label="item" :value="item"></el-option>
</el-select>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'labels'"> <div v-if="item2.type === 'labels'">
@@ -410,7 +419,7 @@
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
style="width: 45%;margin: 0" style="width: 45%;margin: 0"
> >
<el-input v-model="item2.labels[eindex].value" placeholder="key" size="mini" ></el-input> <el-input v-model="item2.labels[eindex].value" placeholder="value" size="mini" ></el-input>
</el-form-item> </el-form-item>
<i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i> <i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i>
<i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i> <i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i>
@@ -422,7 +431,7 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="source" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
@@ -643,6 +652,7 @@ export default {
} }
] ]
}], }],
timestampList: ['ANSIC', 'UnixDate', 'RubyDate', 'RFC822', 'RFC822Z', 'RFC850', 'RFC1123', 'RFC1123Z', 'RFC3339', 'RFC3339Nano', 'Unix', 'UnixMs', 'UnixUs', 'UnixNs'],
metricsShow: true, metricsShow: true,
logsShow: true logsShow: true
} }
@@ -783,6 +793,9 @@ export default {
if (pipeline.type === 'labels') { if (pipeline.type === 'labels') {
pipeline.labels = this.labelsToJson(pipeline.labels) pipeline.labels = this.labelsToJson(pipeline.labels)
} }
if (pipeline.type === 'json') {
pipeline.expressions = this.labelsToJson(pipeline.expressions)
}
}) })
if (item.type === 'file') { if (item.type === 'file') {
delete item.unit delete item.unit
@@ -1120,18 +1133,33 @@ export default {
if (val === 'regex') { if (val === 'regex') {
this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expression.push('') this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expression.push('')
} else if (val === 'json') { } else if (val === 'json') {
this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('') this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push(
{
key: '',
value: ''
}
)
} else if (val === 'template') { } else if (val === 'template') {
this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('') this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('')
} else if (val === 'timestamp') { } else if (val === 'timestamp') {
this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('') this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push(
{
key: '',
value: ''
}
)
} else if (val === 'labels') { } else if (val === 'labels') {
this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].labels.push({ this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].labels.push({
key: '', key: '',
value: '' value: ''
}) })
} else if (val === 'output') { } else if (val === 'output') {
this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('') this.editEndpoint.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push(
{
key: '',
value: ''
}
)
} }
}, },
delPipelineItem (logsIndex, pipelineIndex, itemIndex) { delPipelineItem (logsIndex, pipelineIndex, itemIndex) {
@@ -1159,6 +1187,68 @@ export default {
if (JSON.stringify(this.editEndpoint.configs) === JSON.stringify(this.blankObject.configs)) { if (JSON.stringify(this.editEndpoint.configs) === JSON.stringify(this.blankObject.configs)) {
this.editEndpoint.configs = JSON.parse(res.data.list[0].configs) this.editEndpoint.configs = JSON.parse(res.data.list[0].configs)
this.activeNameLogs = this.editEndpoint.configs[1].config.map(() => 'Basic') this.activeNameLogs = this.editEndpoint.configs[1].config.map(() => 'Basic')
this.editEndpoint.configs[1].config.forEach(item => {
item.labelModule = []
if (JSON.stringify(item.labels) !== '{}' && item.labels) {
Object.keys(item.labels).forEach(key => {
item.labelModule.push({ key, value: item.labels[key] })
})
} else {
item.labelModule.push({ key: '', value: '' })
}
item.pipeline && item.pipeline.forEach((pipeline) => {
if (pipeline.type === 'labels') {
const labelsArr = []
if (JSON.stringify(pipeline.labels) !== '{}' && pipeline.labels) {
Object.keys(pipeline.labels).forEach(key => {
labelsArr.push({ key, value: pipeline.labels[key] })
})
} else {
labelsArr.push({ key: '', value: '' })
}
pipeline.labels = labelsArr
}
if (pipeline.type === 'json') {
const expressionsArr = []
if (JSON.stringify(pipeline.expressions) !== '{}' && pipeline.expressions) {
Object.keys(pipeline.expressions).forEach(key => {
expressionsArr.push({ key, value: pipeline.expressions[key] })
})
} else {
expressionsArr.push({ key: '', value: '' })
}
pipeline.expressions = expressionsArr
}
})
if (item.type === 'file') {
item.unit = ''
item.appName = ''
item.listenAddress = ''
} else if (item.type === 'journal') {
item.fileName = ''
item.appName = ''
item.listenAddress = ''
} else if (item.type === 'syslog') {
item.fileName = ''
item.unit = ''
}
})
this.editEndpoint.paramObj = []
this.editEndpoint.labelModule = []
if (JSON.stringify(this.editEndpoint.configs[0].config.labels) !== '{}' && this.editEndpoint.configs[0].config.labels) {
Object.keys(this.editEndpoint.configs[0].config.labels).forEach(key => {
this.editEndpoint.labelModule.push({ key, value: this.editEndpoint.configs[0].config.labels[key] })
})
} else {
this.editEndpoint.labelModule.push({ key: '', value: '' })
}
if (JSON.stringify(this.editEndpoint.configs[0].config.params) !== '{}' && this.editEndpoint.configs[0].config.params) {
Object.keys(this.editEndpoint.configs[0].config.params).forEach(key => {
this.editEndpoint.paramObj.push({ key, value: this.editEndpoint.configs[0].config.params[key] })
})
} else {
this.editEndpoint.paramObj.push({ key: '', value: [] })
}
} }
if (!this.editEndpoint.name) { if (!this.editEndpoint.name) {
this.editEndpoint.name = res.data.list[0].name this.editEndpoint.name = res.data.list[0].name
@@ -1246,6 +1336,14 @@ export default {
item.labels = this.labelsToJson(item.labelModule) item.labels = this.labelsToJson(item.labelModule)
delete item.labelModule delete item.labelModule
} }
item.pipeline && item.pipeline.forEach((pipeline) => {
if (pipeline.type === 'labels') {
pipeline.labels = this.labelsToJson(pipeline.labels)
}
if (pipeline.type === 'json') {
pipeline.expressions = this.labelsToJson(pipeline.expressions)
}
})
if (item.type === 'file') { if (item.type === 'file') {
delete item.unit delete item.unit
delete item.appName delete item.appName

View File

@@ -326,37 +326,43 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expression'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expression'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.expression" placeholder="key" size="mini"></el-input> <el-input v-model="item2.expression" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="'Source'" :label="'Source'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'json'"> <div v-if="item2.type === 'json'">
<label style="padding-bottom: 6px;font-size: 14px;line-height: 16px;color: #666;">Expressions</label> <label style="padding-bottom: 6px;font-size: 14px;line-height: 16px;color: #666;">Expressions</label>
<div v-for="(expressions, eindex) in item2.expressions" :key="eindex" style="display: flex;justify-content: space-around;align-items: center;margin-bottom: 16px"> <div v-for="(expressions, eindex) in item2.expressions" :key="eindex" style="display: flex;justify-content: space-around;align-items: center;margin-bottom: 16px">
<el-form-item <el-form-item
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex+'.key'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
style="width: 90%;margin: 0" style="width: 45%;margin: 0"
> >
<el-input v-model="item2.expressions[eindex]" placeholder="key" size="mini"></el-input> <el-input v-model="item2.expressions[eindex].key" placeholder="key" size="mini" ></el-input>
</el-form-item>
=
<el-form-item
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex+'.value'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
style="width: 45%;margin: 0"
>
<el-input v-model="item2.expressions[eindex].value" placeholder="value" size="mini" ></el-input>
</el-form-item> </el-form-item>
<span style="display: inline-block;width: 10%">
<i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i> <i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i>
<i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i> <i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i>
</span>
</div> </div>
<el-form-item <el-form-item
:label="'Source'" :label="'Source'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'template'"> <div v-if="item2.type === 'template'">
@@ -372,7 +378,7 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.template'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.template'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.template" placeholder="key" size="mini"></el-input> <el-input v-model="item2.template" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'timestamp'"> <div v-if="item2.type === 'timestamp'">
@@ -381,14 +387,16 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
:label="'Format'" :label="'Format'"
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.timestamp'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.format'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.format" placeholder="key" size="mini"></el-input> <el-select v-model="item2.format" :id="'timestamp' + index +'-' + index2" class="right-box__select" placeholder="" popper-class="right-box-select-dropdown prevent-clickoutside" size="small">
<el-option v-for="item in timestampList" :id="'module-timestamp-'+item" :key="item" :label="item" :value="item"></el-option>
</el-select>
</el-form-item> </el-form-item>
</div> </div>
<div v-if="item2.type === 'labels'"> <div v-if="item2.type === 'labels'">
@@ -407,7 +415,7 @@
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
style="width: 45%;margin: 0" style="width: 45%;margin: 0"
> >
<el-input v-model="item2.labels[eindex].value" placeholder="key" size="mini" ></el-input> <el-input v-model="item2.labels[eindex].value" placeholder="value" size="mini" ></el-input>
</el-form-item> </el-form-item>
<i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i> <i class="nz-icon nz-icon-plus" @click="addPipelineItem(index, index2)"></i>
<i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i> <i class="nz-icon nz-icon-shanchu1" @click="delPipelineItem((index, index2, eindex))"></i>
@@ -419,7 +427,7 @@
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'" :prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.source'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]" :rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
> >
<el-input v-model="item2.source" placeholder="key" size="mini"></el-input> <el-input v-model="item2.source" placeholder="" size="mini"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
@@ -631,6 +639,7 @@ export default {
} }
] ]
}], }],
timestampList: ['ANSIC', 'UnixDate', 'RubyDate', 'RFC822', 'RFC822Z', 'RFC850', 'RFC1123', 'RFC1123Z', 'RFC3339', 'RFC3339Nano', 'Unix', 'UnixMs', 'UnixUs', 'UnixNs'],
metricsShow: true, metricsShow: true,
logsShow: true logsShow: true
} }
@@ -761,6 +770,9 @@ export default {
if (pipeline.type === 'labels') { if (pipeline.type === 'labels') {
pipeline.labels = this.labelsToJson(pipeline.labels) pipeline.labels = this.labelsToJson(pipeline.labels)
} }
if (pipeline.type === 'json') {
pipeline.expressions = this.labelsToJson(pipeline.expressions)
}
}) })
if (item.type === 'file') { if (item.type === 'file') {
delete item.unit delete item.unit
@@ -1084,7 +1096,12 @@ export default {
if (val === 'regex') { if (val === 'regex') {
this.editModule.configs[1].config[logsIndex].pipeline[pipelineIndex].expression.push('') this.editModule.configs[1].config[logsIndex].pipeline[pipelineIndex].expression.push('')
} else if (val === 'json') { } else if (val === 'json') {
this.editModule.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('') this.editModule.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push(
{
key: '',
value: ''
}
)
} else if (val === 'template') { } else if (val === 'template') {
this.editModule.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('') this.editModule.configs[1].config[logsIndex].pipeline[pipelineIndex].expressions.push('')
} else if (val === 'timestamp') { } else if (val === 'timestamp') {
@@ -1181,6 +1198,14 @@ export default {
item.labels = this.labelsToJson(item.labelModule) item.labels = this.labelsToJson(item.labelModule)
delete item.labelModule delete item.labelModule
} }
item.pipeline && item.pipeline.forEach((pipeline) => {
if (pipeline.type === 'labels') {
pipeline.labels = this.labelsToJson(pipeline.labels)
}
if (pipeline.type === 'json') {
pipeline.expressions = this.labelsToJson(pipeline.expressions)
}
})
if (item.type === 'file') { if (item.type === 'file') {
delete item.unit delete item.unit
delete item.appName delete item.appName

View File

@@ -131,7 +131,12 @@ export default {
} else if (val === 'json') { } else if (val === 'json') {
obj = { obj = {
type: 'json', type: 'json',
expressions: [''], expressions: [
{
key: '',
value: ''
}
],
source: '' source: ''
} }
} else if (val === 'template') { } else if (val === 'template') {

View File

@@ -345,6 +345,17 @@ export default {
} }
pipeline.labels = labelsArr pipeline.labels = labelsArr
} }
if (pipeline.type === 'json') {
const expressionsArr = []
if (JSON.stringify(pipeline.expressions) !== '{}' && pipeline.expressions) {
Object.keys(pipeline.expressions).forEach(key => {
expressionsArr.push({ key, value: pipeline.expressions[key] })
})
} else {
expressionsArr.push({ key: '', value: '' })
}
pipeline.expressions = expressionsArr
}
}) })
if (item.type === 'file') { if (item.type === 'file') {
item.unit = '' item.unit = ''

View File

@@ -220,6 +220,17 @@ export default {
} }
pipeline.labels = labelsArr pipeline.labels = labelsArr
} }
if (pipeline.type === 'json') {
const expressionsArr = []
if (JSON.stringify(pipeline.expressions) !== '{}' && pipeline.expressions) {
Object.keys(pipeline.expressions).forEach(key => {
expressionsArr.push({ key, value: pipeline.expressions[key] })
})
} else {
expressionsArr.push({ key: '', value: '' })
}
pipeline.expressions = expressionsArr
}
}) })
if (item.type === 'file') { if (item.type === 'file') {
item.unit = '' item.unit = ''