Compare commits
3 Commits
master
...
feature#ad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ca1ae88fd | ||
|
|
63d1257275 | ||
|
|
442d4d1dfb |
@@ -122,6 +122,12 @@ public class ParamDefine {
|
|||||||
@ApiModelProperty(value = "当type为key-value时有效,表示value的别名描述", example = "Value", accessMode = READ_WRITE, position = 10)
|
@ApiModelProperty(value = "当type为key-value时有效,表示value的别名描述", example = "Value", accessMode = READ_WRITE, position = 10)
|
||||||
private String valueAlias;
|
private String valueAlias;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是高级隐藏参数 true-是 false-否
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "是否是高级隐藏参数 true-是 false-否", example = "true", accessMode = READ_WRITE, position = 11)
|
||||||
|
private boolean hide = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 此条记录创建者
|
* 此条记录创建者
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
category: service
|
|
||||||
app: telnet
|
|
||||||
name:
|
|
||||||
zh-CN: TELNET端口可用性
|
|
||||||
en-US: PORT TELNET
|
|
||||||
configmap:
|
|
||||||
- key: host
|
|
||||||
type: 1
|
|
||||||
- key: port
|
|
||||||
type: 0
|
|
||||||
- key: timeout
|
|
||||||
type: 0
|
|
||||||
metrics:
|
|
||||||
- name: summary
|
|
||||||
priority: 0
|
|
||||||
fields:
|
|
||||||
- field: responseTime
|
|
||||||
type: 0
|
|
||||||
unit: ms
|
|
||||||
protocol: telnet
|
|
||||||
# 当protocol为telnet协议时具体的采集配置
|
|
||||||
telnet:
|
|
||||||
host: ^_^host^_^
|
|
||||||
port: ^_^port^_^
|
|
||||||
timeout: ^_^timeout^_^
|
|
||||||
@@ -26,10 +26,12 @@ param:
|
|||||||
# 当type为text时,用limit表示字符串限制大小
|
# 当type为text时,用limit表示字符串限制大小
|
||||||
limit: 20
|
limit: 20
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
- field: password
|
- field: password
|
||||||
name: 密码
|
name: 密码
|
||||||
type: password
|
type: password
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
- field: ssl
|
- field: ssl
|
||||||
name: 启动SSL
|
name: 启动SSL
|
||||||
# 当type为boolean时,前端用switch展示开关
|
# 当type为boolean时,前端用switch展示开关
|
||||||
|
|||||||
@@ -60,15 +60,18 @@ param:
|
|||||||
type: text
|
type: text
|
||||||
placeholder: '请求BODY资源类型'
|
placeholder: '请求BODY资源类型'
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
- field: payload
|
- field: payload
|
||||||
name: 请求BODY
|
name: 请求BODY
|
||||||
type: textarea
|
type: textarea
|
||||||
placeholder: 'POST PUT请求时有效'
|
placeholder: 'POST PUT请求时有效'
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
- field: authType
|
- field: authType
|
||||||
name: 认证方式
|
name: 认证方式
|
||||||
type: radio
|
type: radio
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
# 当type为radio单选框,checkbox复选框时,option表示可选项值列表 {name1:value1,name2:value2}
|
# 当type为radio单选框,checkbox复选框时,option表示可选项值列表 {name1:value1,name2:value2}
|
||||||
options:
|
options:
|
||||||
- label: Basic Auth
|
- label: Basic Auth
|
||||||
@@ -81,7 +84,9 @@ param:
|
|||||||
# 当type为text时,用limit表示字符串限制大小
|
# 当type为text时,用limit表示字符串限制大小
|
||||||
limit: 20
|
limit: 20
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
- field: password
|
- field: password
|
||||||
name: 密码
|
name: 密码
|
||||||
type: password
|
type: password
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ param:
|
|||||||
required: false
|
required: false
|
||||||
defaultValue: 6000
|
defaultValue: 6000
|
||||||
placeholder: '查询超时时间'
|
placeholder: '查询超时时间'
|
||||||
|
hide: true
|
||||||
- field: database
|
- field: database
|
||||||
name: 数据库名称
|
name: 数据库名称
|
||||||
type: text
|
type: text
|
||||||
@@ -33,4 +34,5 @@ param:
|
|||||||
- field: url
|
- field: url
|
||||||
name: URL
|
name: URL
|
||||||
type: text
|
type: text
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
@@ -15,6 +15,7 @@ param:
|
|||||||
name: 查询超时时间
|
name: 查询超时时间
|
||||||
type: number
|
type: number
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
defaultValue: 6000
|
defaultValue: 6000
|
||||||
placeholder: '查询超时时间'
|
placeholder: '查询超时时间'
|
||||||
- field: database
|
- field: database
|
||||||
@@ -33,4 +34,5 @@ param:
|
|||||||
- field: url
|
- field: url
|
||||||
name: URL
|
name: URL
|
||||||
type: text
|
type: text
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
@@ -15,6 +15,7 @@ param:
|
|||||||
name: 查询超时时间
|
name: 查询超时时间
|
||||||
type: number
|
type: number
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
defaultValue: 6000
|
defaultValue: 6000
|
||||||
placeholder: '查询超时时间'
|
placeholder: '查询超时时间'
|
||||||
- field: database
|
- field: database
|
||||||
@@ -33,4 +34,5 @@ param:
|
|||||||
- field: url
|
- field: url
|
||||||
name: URL
|
name: URL
|
||||||
type: text
|
type: text
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
@@ -15,6 +15,7 @@ param:
|
|||||||
name: 查询超时时间
|
name: 查询超时时间
|
||||||
type: number
|
type: number
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
defaultValue: 6000
|
defaultValue: 6000
|
||||||
placeholder: '查询超时时间'
|
placeholder: '查询超时时间'
|
||||||
- field: database
|
- field: database
|
||||||
@@ -33,4 +34,5 @@ param:
|
|||||||
- field: url
|
- field: url
|
||||||
name: URL
|
name: URL
|
||||||
type: text
|
type: text
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
@@ -15,6 +15,7 @@ param:
|
|||||||
name: 查询超时时间
|
name: 查询超时时间
|
||||||
type: number
|
type: number
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
defaultValue: 6000
|
defaultValue: 6000
|
||||||
placeholder: '查询超时时间'
|
placeholder: '查询超时时间'
|
||||||
- field: database
|
- field: database
|
||||||
@@ -33,4 +34,5 @@ param:
|
|||||||
- field: url
|
- field: url
|
||||||
name: URL
|
name: URL
|
||||||
type: text
|
type: text
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 监控应用类型名称(与文件名保持一致) eg: linux windows tomcat mysql aws...
|
|
||||||
app: telnet
|
|
||||||
# 强制固定必须参数 - host(ipv4,ipv6,域名)
|
|
||||||
param:
|
|
||||||
# field-字段名称标识符
|
|
||||||
- field: host
|
|
||||||
# name-参数字段显示名称
|
|
||||||
name: 主机Host
|
|
||||||
# type-字段类型,样式(大部分映射input标签type属性)
|
|
||||||
type: host
|
|
||||||
# 是否是必输项 true-必填 false-可选
|
|
||||||
required: true
|
|
||||||
- field: port
|
|
||||||
name: 端口
|
|
||||||
type: number
|
|
||||||
# 当type为number时,用range表示范围
|
|
||||||
range: '[0,65535]'
|
|
||||||
required: true
|
|
||||||
defaultValue: 80
|
|
||||||
- field: timeout
|
|
||||||
name: Telnet超时时间
|
|
||||||
type: number
|
|
||||||
# 当type为number时,用range表示范围
|
|
||||||
range: '[0,100000]'
|
|
||||||
required: true
|
|
||||||
placeholder: '请输入超时时间,单位毫秒'
|
|
||||||
defaultValue: 6000
|
|
||||||
@@ -33,6 +33,7 @@ param:
|
|||||||
name: 认证方式
|
name: 认证方式
|
||||||
type: radio
|
type: radio
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
# 当type为radio单选框,checkbox复选框时,option表示可选项值列表 {name1:value1,name2:value2}
|
# 当type为radio单选框,checkbox复选框时,option表示可选项值列表 {name1:value1,name2:value2}
|
||||||
options:
|
options:
|
||||||
- label: Basic Auth
|
- label: Basic Auth
|
||||||
@@ -45,7 +46,9 @@ param:
|
|||||||
# 当type为text时,用limit表示字符串限制大小
|
# 当type为text时,用limit表示字符串限制大小
|
||||||
limit: 20
|
limit: 20
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
- field: password
|
- field: password
|
||||||
name: 密码
|
name: 密码
|
||||||
type: password
|
type: password
|
||||||
required: false
|
required: false
|
||||||
|
hide: true
|
||||||
@@ -12,4 +12,6 @@ export class ParamDefine {
|
|||||||
// 当type为key-value时有效,表示别名描述
|
// 当type为key-value时有效,表示别名描述
|
||||||
keyAlias!: string;
|
keyAlias!: string;
|
||||||
valueAlias!: string;
|
valueAlias!: string;
|
||||||
|
// 此参数是否隐藏 即默认不显示, 在高级设置区显示
|
||||||
|
hide: boolean = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,11 +162,151 @@
|
|||||||
</nz-form-control>
|
</nz-form-control>
|
||||||
</nz-form-item>
|
</nz-form-item>
|
||||||
|
|
||||||
|
<nz-collapse [nzGhost]="true">
|
||||||
|
<nz-collapse-panel nzHeader="高级" [nzHeader]="extraColHeader" [nzShowArrow]="false">
|
||||||
|
<nz-form-item *ngFor="let paramDefine of advancedParamDefines; let i = index">
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.field !== 'host' && paramDefine.type === 'text'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control
|
||||||
|
*ngIf="paramDefine.field !== 'host' && paramDefine.type === 'text'"
|
||||||
|
nzSpan="8"
|
||||||
|
[nzErrorTip]="'validation.required' | i18n"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
nz-input
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[type]="paramDefine.type"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
[placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
/>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.type === 'textarea'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'textarea'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<textarea
|
||||||
|
nz-input
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
[placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
rows="3"
|
||||||
|
></textarea>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.type === 'password'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'password'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-input-group [nzSuffix]="suffixTemplate" style="width: 100%">
|
||||||
|
<input
|
||||||
|
[type]="passwordVisible ? 'text' : 'password'"
|
||||||
|
nz-input
|
||||||
|
placeholder="input password"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
/>
|
||||||
|
</nz-input-group>
|
||||||
|
<ng-template #suffixTemplate>
|
||||||
|
<i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
|
||||||
|
</ng-template>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label *ngIf="paramDefine.type === 'number'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'number'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-input-number
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[nzMin]="-1000"
|
||||||
|
[nzMax]="65535"
|
||||||
|
[nzStep]="1"
|
||||||
|
[nzPlaceHolder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
></nz-input-number>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label *ngIf="paramDefine.type === 'boolean'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'boolean'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-switch
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
></nz-switch>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label *ngIf="paramDefine.type === 'radio'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'radio'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-radio-group
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
nzButtonStyle="solid"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
>
|
||||||
|
<label nz-radio-button [nzValue]="optionItem.value" *ngFor="let optionItem of paramDefine.options">
|
||||||
|
{{ optionItem.label }}
|
||||||
|
</label>
|
||||||
|
</nz-radio-group>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.type === 'key-value'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'key-value'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<app-key-value-input
|
||||||
|
[(value)]="advancedParams[i].value"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
keyAlias="Header Name"
|
||||||
|
valueAlias="Header Value"
|
||||||
|
></app-key-value-input>
|
||||||
|
</nz-form-control>
|
||||||
|
</nz-form-item>
|
||||||
|
</nz-collapse-panel>
|
||||||
|
</nz-collapse>
|
||||||
|
<ng-template #extraColHeader>
|
||||||
|
<button style="top: -10px; margin-left: 40%" nz-button nzType="dashed" nz-tooltip nzTooltipTitle="设置高级可选参数">
|
||||||
|
<span>高级设置</span>
|
||||||
|
<i nz-icon nzType="down-circle" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
|
|
||||||
<nz-form-item>
|
<nz-form-item>
|
||||||
<nz-form-label nzSpan="7" nzFor="intervals" nzTooltipTitle="监控周期性采集数据间隔时间,单位秒"> 采集间隔 </nz-form-label>
|
<nz-form-label nzSpan="7" nzFor="intervals" nzTooltipTitle="监控周期性采集数据间隔时间,单位秒"> 采集间隔 </nz-form-label>
|
||||||
<nz-form-control nzSpan="10">
|
<nz-form-control nzSpan="8">
|
||||||
<nz-input-number [(ngModel)]="monitor.intervals" [nzMin]="10" [nzMax]="604800" [nzStep]="60" name="intervals" id="intervals">
|
<nz-input-number [(ngModel)]="monitor.intervals" [nzMin]="10" [nzMax]="604800" [nzStep]="60" name="intervals" id="intervals">
|
||||||
</nz-input-number>
|
</nz-input-number>
|
||||||
</nz-form-control>
|
</nz-form-control>
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
.dynamic-button {
|
||||||
|
font-size: 20px;
|
||||||
|
margin-left: 45%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dynamic-button:hover {
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@ import { MonitorService } from '../../../service/monitor.service';
|
|||||||
@Component({
|
@Component({
|
||||||
selector: 'app-monitor-modify',
|
selector: 'app-monitor-modify',
|
||||||
templateUrl: './monitor-edit.component.html',
|
templateUrl: './monitor-edit.component.html',
|
||||||
styles: []
|
styleUrls: ['./monitor-edit.component.less']
|
||||||
})
|
})
|
||||||
export class MonitorEditComponent implements OnInit {
|
export class MonitorEditComponent implements OnInit {
|
||||||
constructor(
|
constructor(
|
||||||
@@ -30,6 +30,8 @@ export class MonitorEditComponent implements OnInit {
|
|||||||
|
|
||||||
paramDefines!: ParamDefine[];
|
paramDefines!: ParamDefine[];
|
||||||
params!: Param[];
|
params!: Param[];
|
||||||
|
advancedParamDefines!: ParamDefine[];
|
||||||
|
advancedParams!: Param[];
|
||||||
paramValueMap = new Map<String, Param>();
|
paramValueMap = new Map<String, Param>();
|
||||||
monitor = new Monitor();
|
monitor = new Monitor();
|
||||||
profileForm: FormGroup = new FormGroup({});
|
profileForm: FormGroup = new FormGroup({});
|
||||||
@@ -59,7 +61,6 @@ export class MonitorEditComponent implements OnInit {
|
|||||||
this.paramValueMap.set(item.field, item);
|
this.paramValueMap.set(item.field, item);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.params = message.data.params;
|
|
||||||
this.detected = message.data.detected ? message.data.detected : true;
|
this.detected = message.data.detected ? message.data.detected : true;
|
||||||
} else {
|
} else {
|
||||||
console.warn(message.msg);
|
console.warn(message.msg);
|
||||||
@@ -73,7 +74,10 @@ export class MonitorEditComponent implements OnInit {
|
|||||||
if (message.code === 0) {
|
if (message.code === 0) {
|
||||||
this.paramDefines = message.data;
|
this.paramDefines = message.data;
|
||||||
this.params = [];
|
this.params = [];
|
||||||
this.paramDefines.forEach(define => {
|
this.advancedParams = [];
|
||||||
|
this.paramDefines = [];
|
||||||
|
this.advancedParamDefines = [];
|
||||||
|
message.data.forEach(define => {
|
||||||
let param = this.paramValueMap.get(define.field);
|
let param = this.paramValueMap.get(define.field);
|
||||||
if (param === undefined) {
|
if (param === undefined) {
|
||||||
param = new Param();
|
param = new Param();
|
||||||
@@ -100,7 +104,13 @@ export class MonitorEditComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.params.push(param);
|
if (define.hide) {
|
||||||
|
this.advancedParams.push(param);
|
||||||
|
this.advancedParamDefines.push(define);
|
||||||
|
} else {
|
||||||
|
this.params.push(param);
|
||||||
|
this.paramDefines.push(define);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.warn(message.msg);
|
console.warn(message.msg);
|
||||||
@@ -144,10 +154,15 @@ export class MonitorEditComponent implements OnInit {
|
|||||||
param.value = (param.value as string).trim();
|
param.value = (param.value as string).trim();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.advancedParams.forEach(param => {
|
||||||
|
if (param.value != null && typeof param.value == 'string') {
|
||||||
|
param.value = (param.value as string).trim();
|
||||||
|
}
|
||||||
|
});
|
||||||
let addMonitor = {
|
let addMonitor = {
|
||||||
detected: this.detected,
|
detected: this.detected,
|
||||||
monitor: this.monitor,
|
monitor: this.monitor,
|
||||||
params: this.params
|
params: this.params.concat(this.advancedParams)
|
||||||
};
|
};
|
||||||
this.isSpinning = true;
|
this.isSpinning = true;
|
||||||
this.monitorSvc.editMonitor(addMonitor).subscribe(
|
this.monitorSvc.editMonitor(addMonitor).subscribe(
|
||||||
@@ -188,10 +203,15 @@ export class MonitorEditComponent implements OnInit {
|
|||||||
param.value = (param.value as string).trim();
|
param.value = (param.value as string).trim();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.advancedParams.forEach(param => {
|
||||||
|
if (param.value != null && typeof param.value == 'string') {
|
||||||
|
param.value = (param.value as string).trim();
|
||||||
|
}
|
||||||
|
});
|
||||||
let detectMonitor = {
|
let detectMonitor = {
|
||||||
detected: this.detected,
|
detected: this.detected,
|
||||||
monitor: this.monitor,
|
monitor: this.monitor,
|
||||||
params: this.params
|
params: this.params.concat(this.advancedParams)
|
||||||
};
|
};
|
||||||
this.isSpinning = true;
|
this.isSpinning = true;
|
||||||
this.monitorSvc.detectMonitor(detectMonitor).subscribe(
|
this.monitorSvc.detectMonitor(detectMonitor).subscribe(
|
||||||
|
|||||||
@@ -171,6 +171,146 @@
|
|||||||
</nz-form-control>
|
</nz-form-control>
|
||||||
</nz-form-item>
|
</nz-form-item>
|
||||||
|
|
||||||
|
<nz-collapse [nzGhost]="true">
|
||||||
|
<nz-collapse-panel nzHeader="高级" [nzHeader]="extraColHeader" [nzShowArrow]="false">
|
||||||
|
<nz-form-item *ngFor="let paramDefine of advancedParamDefines; let i = index">
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.field !== 'host' && paramDefine.type === 'text'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control
|
||||||
|
*ngIf="paramDefine.field !== 'host' && paramDefine.type === 'text'"
|
||||||
|
nzSpan="8"
|
||||||
|
[nzErrorTip]="'validation.required' | i18n"
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
nz-input
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[type]="paramDefine.type"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
[placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
/>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.type === 'textarea'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'textarea'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<textarea
|
||||||
|
nz-input
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
[placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
rows="3"
|
||||||
|
></textarea>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.type === 'password'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'password'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-input-group [nzSuffix]="suffixTemplate" style="width: 100%">
|
||||||
|
<input
|
||||||
|
[type]="passwordVisible ? 'text' : 'password'"
|
||||||
|
nz-input
|
||||||
|
placeholder="input password"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
/>
|
||||||
|
</nz-input-group>
|
||||||
|
<ng-template #suffixTemplate>
|
||||||
|
<i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
|
||||||
|
</ng-template>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label *ngIf="paramDefine.type === 'number'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'number'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-input-number
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[nzMin]="-1000"
|
||||||
|
[nzMax]="65535"
|
||||||
|
[nzStep]="1"
|
||||||
|
[nzPlaceHolder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
></nz-input-number>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label *ngIf="paramDefine.type === 'boolean'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'boolean'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-switch
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
></nz-switch>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label *ngIf="paramDefine.type === 'radio'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'radio'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<nz-radio-group
|
||||||
|
[(ngModel)]="advancedParams[i].value"
|
||||||
|
[required]="paramDefine.required"
|
||||||
|
nzButtonStyle="solid"
|
||||||
|
[name]="paramDefine.field"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
>
|
||||||
|
<label nz-radio-button [nzValue]="optionItem.value" *ngFor="let optionItem of paramDefine.options">
|
||||||
|
{{ optionItem.label }}
|
||||||
|
</label>
|
||||||
|
</nz-radio-group>
|
||||||
|
</nz-form-control>
|
||||||
|
|
||||||
|
<nz-form-label
|
||||||
|
*ngIf="paramDefine.type === 'key-value'"
|
||||||
|
nzSpan="7"
|
||||||
|
[nzRequired]="paramDefine.required"
|
||||||
|
[nzFor]="paramDefine.field"
|
||||||
|
>{{ paramDefine.name }}
|
||||||
|
</nz-form-label>
|
||||||
|
<nz-form-control *ngIf="paramDefine.type === 'key-value'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
|
||||||
|
<app-key-value-input
|
||||||
|
[(value)]="advancedParams[i].value"
|
||||||
|
[id]="paramDefine.field"
|
||||||
|
keyAlias="Header Name"
|
||||||
|
valueAlias="Header Value"
|
||||||
|
></app-key-value-input>
|
||||||
|
</nz-form-control>
|
||||||
|
</nz-form-item>
|
||||||
|
</nz-collapse-panel>
|
||||||
|
</nz-collapse>
|
||||||
|
<ng-template #extraColHeader>
|
||||||
|
<button style="top: -10px; margin-left: 40%" nz-button nzType="dashed" nz-tooltip nzTooltipTitle="设置高级可选参数">
|
||||||
|
<span>高级设置</span>
|
||||||
|
<i nz-icon nzType="down-circle" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
|
|
||||||
<nz-form-item>
|
<nz-form-item>
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ import { MonitorService } from '../../../service/monitor.service';
|
|||||||
export class MonitorNewComponent implements OnInit {
|
export class MonitorNewComponent implements OnInit {
|
||||||
paramDefines!: ParamDefine[];
|
paramDefines!: ParamDefine[];
|
||||||
params!: Param[];
|
params!: Param[];
|
||||||
|
advancedParamDefines!: ParamDefine[];
|
||||||
|
advancedParams!: Param[];
|
||||||
monitor!: Monitor;
|
monitor!: Monitor;
|
||||||
detected: boolean = true;
|
detected: boolean = true;
|
||||||
passwordVisible: boolean = false;
|
passwordVisible: boolean = false;
|
||||||
@@ -53,9 +55,11 @@ export class MonitorNewComponent implements OnInit {
|
|||||||
)
|
)
|
||||||
.subscribe(message => {
|
.subscribe(message => {
|
||||||
if (message.code === 0) {
|
if (message.code === 0) {
|
||||||
this.paramDefines = message.data;
|
|
||||||
this.params = [];
|
this.params = [];
|
||||||
this.paramDefines.forEach(define => {
|
this.advancedParams = [];
|
||||||
|
this.paramDefines = [];
|
||||||
|
this.advancedParamDefines = [];
|
||||||
|
message.data.forEach(define => {
|
||||||
let param = new Param();
|
let param = new Param();
|
||||||
param.field = define.field;
|
param.field = define.field;
|
||||||
if (define.type === 'number') {
|
if (define.type === 'number') {
|
||||||
@@ -77,7 +81,13 @@ export class MonitorNewComponent implements OnInit {
|
|||||||
param.value = define.defaultValue;
|
param.value = define.defaultValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.params.push(param);
|
if (define.hide) {
|
||||||
|
this.advancedParams.push(param);
|
||||||
|
this.advancedParamDefines.push(define);
|
||||||
|
} else {
|
||||||
|
this.params.push(param);
|
||||||
|
this.paramDefines.push(define);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.warn(message.msg);
|
console.warn(message.msg);
|
||||||
@@ -125,10 +135,15 @@ export class MonitorNewComponent implements OnInit {
|
|||||||
param.value = (param.value as string).trim();
|
param.value = (param.value as string).trim();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.advancedParams.forEach(param => {
|
||||||
|
if (param.value != null && typeof param.value == 'string') {
|
||||||
|
param.value = (param.value as string).trim();
|
||||||
|
}
|
||||||
|
});
|
||||||
let addMonitor = {
|
let addMonitor = {
|
||||||
detected: this.detected,
|
detected: this.detected,
|
||||||
monitor: this.monitor,
|
monitor: this.monitor,
|
||||||
params: this.params
|
params: this.params.concat(this.advancedParams)
|
||||||
};
|
};
|
||||||
this.isSpinning = true;
|
this.isSpinning = true;
|
||||||
this.monitorSvc.newMonitor(addMonitor).subscribe(
|
this.monitorSvc.newMonitor(addMonitor).subscribe(
|
||||||
@@ -169,10 +184,15 @@ export class MonitorNewComponent implements OnInit {
|
|||||||
param.value = (param.value as string).trim();
|
param.value = (param.value as string).trim();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.advancedParams.forEach(param => {
|
||||||
|
if (param.value != null && typeof param.value == 'string') {
|
||||||
|
param.value = (param.value as string).trim();
|
||||||
|
}
|
||||||
|
});
|
||||||
let detectMonitor = {
|
let detectMonitor = {
|
||||||
detected: true,
|
detected: true,
|
||||||
monitor: this.monitor,
|
monitor: this.monitor,
|
||||||
params: this.params
|
params: this.params.concat(this.advancedParams)
|
||||||
};
|
};
|
||||||
this.isSpinning = true;
|
this.isSpinning = true;
|
||||||
this.monitorSvc.detectMonitor(detectMonitor).subscribe(
|
this.monitorSvc.detectMonitor(detectMonitor).subscribe(
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import { MonitorEditComponent } from './monitor-edit/monitor-edit.component';
|
|||||||
import { MonitorListComponent } from './monitor-list/monitor-list.component';
|
import { MonitorListComponent } from './monitor-list/monitor-list.component';
|
||||||
import { MonitorNewComponent } from './monitor-new/monitor-new.component';
|
import { MonitorNewComponent } from './monitor-new/monitor-new.component';
|
||||||
import { MonitorRoutingModule } from './monitor-routing.module';
|
import { MonitorRoutingModule } from './monitor-routing.module';
|
||||||
|
import { NzCollapseModule } from 'ng-zorro-antd/collapse';
|
||||||
|
|
||||||
const COMPONENTS: Array<Type<void>> = [
|
const COMPONENTS: Array<Type<void>> = [
|
||||||
MonitorNewComponent,
|
MonitorNewComponent,
|
||||||
@@ -37,7 +38,8 @@ const COMPONENTS: Array<Type<void>> = [
|
|||||||
NzRadioModule,
|
NzRadioModule,
|
||||||
NgxEchartsModule,
|
NgxEchartsModule,
|
||||||
NzLayoutModule,
|
NzLayoutModule,
|
||||||
NzSpaceModule
|
NzSpaceModule,
|
||||||
|
NzCollapseModule
|
||||||
],
|
],
|
||||||
declarations: COMPONENTS
|
declarations: COMPONENTS
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user