outbound tag validation #1286

This commit is contained in:
Alireza Ahmadi
2023-12-05 23:03:38 +01:00
parent 1bbef6d612
commit aa19637288
10 changed files with 18 additions and 8 deletions

View File

@@ -747,7 +747,8 @@
}
outModal.close();
},
isEdit: false
isEdit: false,
tags: this.templateSettings.outbounds.map(obj => obj.tag)
});
},
editOutbound(index){
@@ -760,7 +761,8 @@
this.outboundSettings = JSON.stringify(this.templateSettings.outbounds);
outModal.close();
},
isEdit: true
isEdit: true,
tags: this.outboundData.filter((o) => o.key != index ).map(obj => obj.tag)
});
},
deleteOutbound(index){

View File

@@ -21,10 +21,11 @@
duplicateTag: false,
isValid: true,
activeKey: '1',
tags: [],
ok() {
ObjectUtil.execute(outModal.confirm, outModal.outbound.toJson());
},
show({ title='', okText='{{ i18n "sure" }}', outbound, confirm=(outbound)=>{}, isEdit=false }) {
show({ title='', okText='{{ i18n "sure" }}', outbound, confirm=(outbound)=>{}, isEdit=false, tags=[] }) {
this.title = title;
this.okText = okText;
this.confirm = confirm;
@@ -34,6 +35,7 @@
this.visible = true;
this.outbound = isEdit ? Outbound.fromJson(outbound) : new Outbound();
this.isEdit = isEdit;
this.tags = tags;
this.check()
},
close() {
@@ -44,7 +46,7 @@
outModal.confirmLoading = loading;
},
check(){
if(outModal.outbound.tag == ''){
if(outModal.outbound.tag == '' || outModal.tags.includes(outModal.outbound.tag)){
this.duplicateTag = true;
this.isValid = false;
} else {

View File

@@ -111,9 +111,9 @@
]
}
this.isEdit = isEdit;
this.inboundTags = app.templateSettings.inbounds.map(obj => obj.tag);
this.inboundTags = app.templateSettings.inbounds.filter((i) => !ObjectUtil.isEmpty(i.tag)).map(obj => obj.tag);
this.inboundTags.push(...app.inboundTags);
this.outboundTags = app.templateSettings.outbounds.map(obj => obj.tag);
this.outboundTags = app.templateSettings.outbounds.filter((o) => !ObjectUtil.isEmpty(o.tag)).map(obj => obj.tag);
},
close() {
reverseModal.visible = false;

View File

@@ -152,9 +152,9 @@
}
}
this.isEdit = isEdit;
this.inboundTags = app.templateSettings.inbounds.map(obj => obj.tag);
this.inboundTags = app.templateSettings.inbounds.filter((i) => !ObjectUtil.isEmpty(i.tag)).map(obj => obj.tag);
this.inboundTags.push(...app.inboundTags);
this.outboundTags = app.templateSettings.outbounds.map(obj => obj.tag);
this.outboundTags = app.templateSettings.outbounds.filter((o) => !ObjectUtil.isEmpty(o.tag)).map(obj => obj.tag);
if(app.templateSettings.reverse){
if(app.templateSettings.reverse.bridges) {
this.inboundTags.push(...app.templateSettings.reverse.bridges.map(b => b.tag));