summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandr Ilenko <AIlenko@IBS.RU>2022-07-28 15:07:15 +0300
committerAlexandr Ilenko <AIlenko@IBS.RU>2022-08-01 18:04:25 +0300
commitcd1073bf004122f0d7efe75d59350e9d2d85b3f4 (patch)
tree696a6ef36c5b4d0642be36547c43988bbc2178a0
parent01f8e745501836d920d9c27a5a6554d06c1ac5f1 (diff)
downloadwebui-vue-sila_ui/fix-SILABMC-172-v3.tar.xz
SILABMC-172: Fix: marker deleted static IP addresssila_ui/fix-SILABMC-172-v3
-rw-r--r--src/views/_sila/Overview/Network/TableIpv4.vue37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/views/_sila/Overview/Network/TableIpv4.vue b/src/views/_sila/Overview/Network/TableIpv4.vue
index 4f9f9df1..2fa3d1f3 100644
--- a/src/views/_sila/Overview/Network/TableIpv4.vue
+++ b/src/views/_sila/Overview/Network/TableIpv4.vue
@@ -137,7 +137,9 @@ export default {
value: 'delete',
title: this.$t('pageNetwork.table.deleteIpv4'),
},
- ],
+ ].filter((action) => {
+ return action.value === 'delete' && ipv4.AddressOrigin === 'Static';
+ }),
};
});
},
@@ -147,17 +149,32 @@ export default {
}
},
deleteIpv4TableRow(index) {
+ const deleteMarker = null;
+ const newIpv4StaticArray = this.form.ipv4TableItems
+ .map((ipv4, idx) => {
+ // address cannot be matched, except by their index
+ if (idx === index) {
+ return deleteMarker;
+ }
+ return ipv4;
+ })
+ .filter((ipv4) => {
+ return ipv4 === deleteMarker || ipv4.AddressOrigin === 'Static';
+ })
+ .map((ipv4) => {
+ if (ipv4 === deleteMarker) {
+ return deleteMarker;
+ }
+ const { Address, SubnetMask, Gateway } = ipv4;
+ return {
+ Address,
+ SubnetMask,
+ Gateway,
+ };
+ });
this.form.ipv4TableItems.splice(index, 1);
- const newIpv4Array = this.form.ipv4TableItems.map((ipv4) => {
- const { Address, SubnetMask, Gateway } = ipv4;
- return {
- Address,
- SubnetMask,
- Gateway,
- };
- });
this.$store
- .dispatch('network/editIpv4Address', newIpv4Array)
+ .dispatch('network/editIpv4Address', newIpv4StaticArray)
.then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},