Skip to content

Commit

Permalink
https://github.com/uengine-oss/kuber-ez/issues/54
Browse files Browse the repository at this point in the history
  • Loading branch information
SoonYoung Oh committed Oct 23, 2020
1 parent 226b989 commit 75e09b7
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 88 deletions.
88 changes: 31 additions & 57 deletions src/components/designer/k8s-modeling/element/Ingress.vue
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,7 @@
try {
var serviceNames = "";
this.value.outboundServices.forEach((element) => {
// serviceNames += element.host + element.path + ' ' + element.targetElement.name + ","
serviceNames += element.host + element.path + " " + element.name + ",";
serviceNames += element.host + element.path + element.name + ",";
});
return serviceNames;
} catch (e) {
Expand All @@ -173,9 +172,9 @@
this.$EventBus.$on(`${me.value.elementView.id}`, function (obj) {
if (obj.state == "addRelation" && obj.element && obj.element.targetElement && obj.element.targetElement._type == "Service") {
obj.element.targetElement.routeType = obj.element.routeType;
obj.element.targetElement.host = obj.element.host;
obj.element.targetElement.path = obj.element.path;
obj.element.targetElement.routeType = "path";
obj.element.targetElement.host = "";
obj.element.targetElement.path = "/";
me.value.outboundServices.push(obj.element.targetElement);
}
Expand All @@ -186,72 +185,47 @@
if (obj.state == "get" && obj.element && obj.element.kind == me.value.object.kind) {
me.value.status = obj.element.status;
}
if (obj.state == "updateType" && obj.targetElement) {
me.setRoute(obj);
}
});
},
watch: {
outboundServiceNames(names) {
var me = this;
me.value.object.spec.rules = [];
me.value.outboundServices.forEach((element) => {
if (element.routeType == "path" && me.findHost(element.host) != -1 && me.value.object.spec.rules.length > 0) {
var index = me.findHost(element.host);
me.value.object.spec.rules[index].http.paths.push({
path: element.path,
backend: {
serviceName: element.object.metadata.name,
servicePort: element.object.spec.ports[0].port,
},
});
element.host = me.value.object.spec.rules[index].host;
} else {
var obj = {
host: "",
http: { paths: [] },
};
obj.host = element.host;
obj.http.paths.push({
path: element.path,
backend: {
serviceName: element.object.metadata.name,
servicePort: element.object.spec.ports[0].port,
},
});
me.value.object.spec.rules.push(obj);
}
me.setService(element);
});
},
},
methods: {
setRoute(obj) {
var me = this;
var index = me.value.outboundServices.findIndex(function (val) {
return val == obj.targetElement;
});
me.value.outboundServices.splice(index, 1);
me.value.outboundServices.push(obj.targetElement);
// me.value.object.spec.rules[index].host = obj.value.host;
},
findHost(host) {
setService(element) {
var me = this;
var num = 0;
me.value.outboundServices.forEach(function (el) {
if (el.host == host) {
num++;
var obj = {};
if(element.routeType = "path" && me.value.object.spec.rules.length > 0 && element.host == "") {
obj = {
path: element.path,
backend: {
serviceName: element.object.metadata.name,
servicePort: element.object.spec.ports[0].port,
}
}
});
if (num > 1) {
// return me.value.outboundServices.findIndex(function (el) {
// return el.host == host;
// });
return me.value.object.spec.rules.findIndex(function (el) {
return el.host == host;
});
me.value.object.spec.rules[0].http.paths.push(obj);
} else {
obj = {
host: element.host,
http: {
paths: [{
path: element.path,
pathType: "Prefix",
backend: {
serviceName: element.object.metadata.name,
servicePort: element.object.spec.ports[0].port,
}
}]
},
};
me.value.object.spec.rules.push(obj);
}
},
}
},
};
</script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@
},
sourceMultiplicity: 3,
targetMultiplicity: 3,
path: "",
host: "",
routeType: "path"
}
},
isOpen() {
Expand All @@ -84,11 +81,7 @@
},
name() {
try {
if(this.value.routeType == "path") {
return this.value.host + this.value.path
} else if(this.value.routeType == "host") {
return this.value.host + this.value.path
}
return this.value.targetElement.host + this.value.targetElement.path
} catch(e) {
return ''
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,24 +50,22 @@
computed: {
path: {
get() {
return this.value.path
return this.value.targetElement.path;
},
set(val) {
var me = this
me.value.path = val
me.value.targetElement.path = val
me.updateSourceElement()
var me = this;
me.value.targetElement.path = val;
me.updateData();
}
},
host: {
get() {
return this.value.host
return this.value.targetElement.host;
},
set(val) {
var me = this
me.value.host = val
me.value.targetElement.host = val
me.updateSourceElement()
var me = this;
me.value.targetElement.host = val;
me.updateData();
}
},
},
Expand All @@ -81,32 +79,29 @@
},
mounted() {
var me = this
if(me.value.routeType == 'path') {
if(me.value.targetElement.routeType == 'path') {
me.activeTab = 0
} else if(me.value.routeType == 'host') {
} else if(me.value.targetElement.routeType == 'host') {
me.activeTab = 1
}
},
beforeDestroy() {
var me = this
var obj = {}
me.updateSourceElement()
},
methods: {
updateSourceElement() {
var me = this
var obj = {}
obj.state = 'updateType'
obj.targetElement = me.value.targetElement
me.$EventBus.$emit(`${me.value.sourceElement.elementView.id}`, obj)
updateData() {
var me = this;
me.value.targetElement.object.metadata.name = me.value.targetElement.object.metadata.name + ","
me.$nextTick(function () {
me.value.targetElement.object.metadata.name = (me.value.targetElement.object.metadata.name).replace(',', '')
});
},
changeType(val) {
var me = this
me.activeTab = val
if(val == 0) {
me.value.routeType = "path"
me.value.targetElement.routeType = "path"
} else if(val == 1) {
me.value.routeType = "host"
me.value.targetElement.routeType = "host"
}
}
}
Expand Down

0 comments on commit 75e09b7

Please sign in to comment.