Skip to content

Commit 9efebbd

Browse files
author
evildecay
committed
Fix some displayed bugs
1 parent bded50e commit 9efebbd

File tree

2 files changed

+71
-65
lines changed

2 files changed

+71
-65
lines changed

assets/etcdkeeper/index.html

Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
6262

6363
<div id="cnode" class="easyui-window" title="Create node" data-options="modal:true,closed:true" style="width:650px;height:480px;padding:10px;">
6464
<div style="padding:10px 40px 20px 40px">
65-
<form id="cnodeForm" method="put">
65+
<form id="cnodeForm">
6666
<table cellpadding="10">
6767
<tr>
6868
<td>Name:</td>
@@ -309,9 +309,9 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
309309
success: function(data) {
310310
if (data.errorCode) {
311311
$('#etree').tree('remove', node.target);
312-
console.log(data.errorCode);
312+
console.log(data.message);
313313
resetValue()
314-
}else {
314+
} else {
315315
editor.getSession().setValue(data.node.value);
316316
//if (autoFormat === 'true') {
317317
//format(aceMode);
@@ -357,8 +357,8 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
357357
dataType: 'json',
358358
success: function(data) {
359359
if (data.errorCode) {
360-
$.messager.alert('Error',data.errorCode,'error');
361-
}else {
360+
$.messager.alert('Error', data.message, 'error');
361+
} else {
362362
if (data.node.value) {
363363
editor.getSession().setValue(data.node.value);
364364
changeFooter(data.node.ttl, data.node.createdIndex, data.node.modifiedIndex);
@@ -473,7 +473,7 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
473473
nodePath = ''
474474
}
475475

476-
if (treeMode == 'list') {
476+
if (treeMode == 'list') { // list mode
477477
if ($('#cnodeForm').form('validate')) {
478478
var createNodePath = $('#name').textbox('getValue');
479479
if (!createNodePath.startsWith(separator)) {
@@ -490,7 +490,7 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
490490
$('#cnode').window('close');
491491
var ret = $.evalJSON(data);
492492
if (ret.errorCode) {
493-
$.messager.alert('Error', ret.cause + " " + ret.message, 'error');
493+
$.messager.alert('Error', ret.message, 'error');
494494
}else {
495495
alertMessage('Create success.');
496496
var newData = [];
@@ -512,7 +512,6 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
512512
data: newData
513513
});
514514
}
515-
516515
}
517516
$('#cvalue').textbox('enable','none');
518517
$('#cnodeForm').form('reset');
@@ -523,13 +522,13 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
523522
}
524523
});
525524
}
526-
} else {
525+
} else { // dir mode
527526
if ($('#cnodeForm').form('validate')) {
528527
var pathArr = [];
529528
var inputArr = $('#name').textbox('getValue').split(separator);
530529
for (var i in inputArr) {
531530
if ($.trim(inputArr[i]) != '') {
532-
pathArr.push(inputArr[i])
531+
pathArr.push(inputArr[i]);
533532
}
534533
}
535534

@@ -544,7 +543,7 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
544543
$('#cnode').window('close');
545544
var ret = $.evalJSON(data);
546545
if (ret.errorCode) {
547-
$.messager.alert('Error', ret.cause + ' ' + ret.message, 'error');
546+
$.messager.alert('Error', ret.message, 'error');
548547
}else {
549548
alertMessage('Create success.');
550549
var newData = [];
@@ -556,13 +555,13 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
556555
obj = {
557556
id : getId(),
558557
text: pathArr[k],
559-
state: $('#dir').combobox('getValue') == 'true'?'closed':'',
558+
state: $('#dir').combobox('getValue') == 'true'?'open':'',
560559
dir: $('#dir').combobox('getValue') == 'true'?true:false,
561560
iconCls: $('#dir').combobox('getValue') == 'true'?'icon-dir':'icon-text',
562561
path: (prePath==separator?(prePath + ''):(prePath + separator)) + pathArr[k],
563562
children:[]
564563
};
565-
}else {
564+
} else {
566565
obj = {
567566
id : getId(),
568567
text: pathArr[k],
@@ -574,25 +573,26 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
574573
};
575574
}
576575
var objNode = nodeExist(obj.path);
577-
if (objNode != null) {
578-
node = objNode;
579-
prePath = node.path;
580-
continue;
581-
}
582-
if (newData.length == 0) {
576+
if (objNode != null) {
577+
node = objNode;
578+
prePath = node.path;
579+
continue;
580+
}
581+
if (newData.length === 0) {
583582
newData.push(obj);
584-
}else {
583+
} else {
585584
preObj.children.push(obj);
586585
}
587586
preObj = obj;
588587
prePath = obj.path;
589588
}
590-
591-
$('#etree').tree('update', {
592-
target: node.target,
593-
iconCls: 'icon-dir'
594-
});
595-
$('#etree').tree('append', {
589+
if (version === '3') {
590+
$('#etree').tree('update', {
591+
target: node.target,
592+
iconCls: 'icon-dir'
593+
});
594+
}
595+
$('#etree').tree('append', {
596596
parent: node.target,
597597
data: newData
598598
});
@@ -639,15 +639,17 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
639639
var pnode = $('#etree').tree('getParent', node.target);
640640

641641
$('#etree').tree('remove', node.target);
642-
643-
var isLeaf = $('#etree').tree('isLeaf', pnode.target);
644-
if (isLeaf) {
645-
$('#etree').tree('update', {
646-
target: pnode.target,
647-
iconCls: 'icon-text'
648-
});
642+
643+
if (version === '3') {
644+
var isLeaf = $('#etree').tree('isLeaf', pnode.target);
645+
if (isLeaf && pnode.text !== separator) {
646+
$('#etree').tree('update', {
647+
target: pnode.target,
648+
iconCls: 'icon-text'
649+
});
650+
}
649651
}
650-
}else {
652+
} else {
651653
$.messager.alert('Error', data, 'error');
652654
}
653655
},
@@ -729,7 +731,7 @@ <h2>ETCD Keeper <span id="ver" style="border: 1px solid #D4D4D4;border-radius: 5
729731
if (tokens.length < 2) {
730732
return
731733
}
732-
var mode = tokens[tokens.length-1]
734+
var mode = tokens[tokens.length-1];
733735
var modes = $('#modeMenu').children();
734736
for (var i=0;i<modes.length;i++) {
735737
m = modes[i].innerText;

src/etcdkeeper/main.go

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ func putV2(w http.ResponseWriter, r *http.Request) {
148148
_, err = kapi.Set(context.Background(), key, value, &client.SetOptions{Dir:isDir})
149149
}
150150
if err != nil {
151-
io.WriteString(w, string(err.Error()))
151+
data["errorCode"] = 500
152+
data["message"] = err.Error()
152153
} else {
153154
if resp, err := kapi.Get(context.Background(), key, &client.GetOptions{Recursive:true, Sort:true}); err != nil {
154155
data["errorCode"] = err.Error()
@@ -164,12 +165,13 @@ func putV2(w http.ResponseWriter, r *http.Request) {
164165
data["node"] = node
165166
}
166167
}
167-
var dataByte []byte
168-
if dataByte, err = json.Marshal(data);err != nil {
169-
io.WriteString(w, err.Error())
170-
} else {
171-
io.WriteString(w, string(dataByte))
172-
}
168+
}
169+
170+
var dataByte []byte
171+
if dataByte, err = json.Marshal(data);err != nil {
172+
io.WriteString(w, err.Error())
173+
} else {
174+
io.WriteString(w, string(dataByte))
173175
}
174176
}
175177

@@ -179,10 +181,12 @@ func getV2(w http.ResponseWriter, r *http.Request) {
179181
log.Println("GET", "v2", key)
180182

181183
if resp, err := kapi.Get(context.Background(), key, &client.GetOptions{Recursive:true, Sort:true}); err != nil {
182-
data["errorCode"] = err.Error()
184+
data["errorCode"] = 500
185+
data["message"] = err.Error()
183186
} else {
184187
if resp.Node == nil {
185-
data["errorCode"] = "The node does not exist."
188+
data["errorCode"] = 500
189+
data["message"] = "The node does not exist."
186190
} else {
187191
data["node"] = getNode(resp.Node)
188192
}
@@ -310,7 +314,8 @@ func put(w http.ResponseWriter, r *http.Request) {
310314
_, err = cli.Put(context.Background(), key, value)
311315
}
312316
if err != nil {
313-
io.WriteString(w, string(err.Error()))
317+
data["errorCode"] = 500
318+
data["message"] = err.Error()
314319
} else {
315320
if resp, err := cli.Get(context.Background(), key, clientv3.WithPrefix());err != nil {
316321
data["errorCode"] = err.Error()
@@ -327,12 +332,13 @@ func put(w http.ResponseWriter, r *http.Request) {
327332
data["node"] = node
328333
}
329334
}
330-
var dataByte []byte
331-
if dataByte, err = json.Marshal(data);err != nil {
332-
io.WriteString(w, err.Error())
333-
} else {
334-
io.WriteString(w, string(dataByte))
335-
}
335+
}
336+
337+
var dataByte []byte
338+
if dataByte, err = json.Marshal(data);err != nil {
339+
io.WriteString(w, err.Error())
340+
} else {
341+
io.WriteString(w, string(dataByte))
336342
}
337343
}
338344

@@ -342,7 +348,8 @@ func get(w http.ResponseWriter, r *http.Request) {
342348
log.Println("GET", "v3", key)
343349

344350
if resp, err := cli.Get(context.Background(), key, clientv3.WithPrefix());err != nil {
345-
data["errorCode"] = err.Error()
351+
data["errorCode"] = 500
352+
data["message"] = err.Error()
346353
} else {
347354
if r.FormValue("prefix") == "true" {
348355
pnode := make(map[string]interface{})
@@ -376,7 +383,8 @@ func get(w http.ResponseWriter, r *http.Request) {
376383
node["modifiedIndex"] = kv.ModRevision
377384
data["node"] = node
378385
} else {
379-
data["errorCode"] = "The node does not exist."
386+
data["errorCode"] = 500
387+
data["message"] = "The node does not exist."
380388
}
381389
}
382390
}
@@ -405,12 +413,10 @@ func getPath(w http.ResponseWriter, r *http.Request) {
405413
// parent
406414
presp, err := cli.Get(context.Background(), key)
407415
if err != nil {
408-
data["errorCode"] = err.Error()
409-
if dataByte, err := json.Marshal(data);err != nil {
410-
io.WriteString(w, err.Error())
411-
} else {
412-
io.WriteString(w, string(dataByte))
413-
}
416+
data["errorCode"] = 500
417+
data["message"] = err.Error()
418+
dataByte, _ := json.Marshal(data)
419+
io.WriteString(w, string(dataByte))
414420
return
415421
}
416422
if key == separator {
@@ -433,12 +439,10 @@ func getPath(w http.ResponseWriter, r *http.Request) {
433439
//child
434440
resp, err := cli.Get(context.Background(), prefixKey, clientv3.WithPrefix(), clientv3.WithSort(clientv3.SortByKey, clientv3.SortAscend))
435441
if err != nil {
436-
data["errorCode"] = err.Error()
437-
if dataByte, err := json.Marshal(data);err != nil {
438-
io.WriteString(w, err.Error())
439-
} else {
440-
io.WriteString(w, string(dataByte))
441-
}
442+
data["errorCode"] = 500
443+
data["message"] = err.Error()
444+
dataByte, _ := json.Marshal(data)
445+
io.WriteString(w, string(dataByte))
442446
return
443447
}
444448

0 commit comments

Comments
 (0)