Skip to content

Commit

Permalink
增加queryUI
Browse files Browse the repository at this point in the history
  • Loading branch information
bibinbin committed Jun 29, 2017
1 parent ed376eb commit 77a4323
Show file tree
Hide file tree
Showing 23 changed files with 154 additions and 43 deletions.
2 changes: 1 addition & 1 deletion dist/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html class=no-js lang=en><head><meta charset=utf-8><meta content="IE=edge,chrome=1" http-equiv=X-UA-Compatible><title>Elastic HD Dashboard</title><meta content=bibinbin name=author><meta content="elasticsearch go Edition head plugin" name=description><meta content=ElasticHD name=keywords><link href=/static/css/app.64c3c1953f23623e2fc954ac3bc5f0f6.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.5dad3417ef3e90fd40d9.js></script><script type=text/javascript src=/static/js/vendor.661d7e9a2eddc40ecf43.js></script><script type=text/javascript src=/static/js/app.674125cd6b07176e8730.js></script></body></html>
<!DOCTYPE html><html class=no-js lang=en><head><meta charset=utf-8><meta content="IE=edge,chrome=1" http-equiv=X-UA-Compatible><title>Elastic HD Dashboard</title><meta content=bibinbin name=author><meta content="elasticsearch go Edition head plugin" name=description><meta content=ElasticHD name=keywords><link href=/static/css/app.ff12067c7a90148fbef795a571260723.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.1c2c32b0b2549f55b943.js></script><script type=text/javascript src=/static/js/vendor.6f5cbf6a122d00b60da1.js></script><script type=text/javascript src=/static/js/app.5a400aa3e4ff3f9b1a12.js></script></body></html>

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions dist/static/js/app.5a400aa3e4ff3f9b1a12.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dist/static/js/app.5a400aa3e4ff3f9b1a12.js.map

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions dist/static/js/app.674125cd6b07176e8730.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/static/js/app.674125cd6b07176e8730.js.map

This file was deleted.

2 changes: 2 additions & 0 deletions dist/static/js/manifest.1c2c32b0b2549f55b943.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions dist/static/js/manifest.5dad3417ef3e90fd40d9.js

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

60 changes: 58 additions & 2 deletions main/search/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ func (se *Search) RegHandler() {
se.mux.HandleFunc("/_template/handle", se.handleTemplate)
se.mux.HandleFunc("/_sql2dsl", se.sqlConvert)
se.mux.HandleFunc("/_indices/delete", se.indexDelete)
se.mux.HandleFunc("/_indices/mapping", se.getMapping)
}

func (se *Search) sqlConvert(w http.ResponseWriter, r *http.Request) {
Expand Down Expand Up @@ -338,7 +339,7 @@ func (se *Search) search(w http.ResponseWriter, r *http.Request) {
}
result, err := c.DoCommand(param.Method, url, nil, param.Body)
if err != nil {
w.Write(jsonEncode(0, map[string]interface{}{"info": err.Error()}))
w.Write(jsonEncode(1, map[string]interface{}{"info": err.Error()}))
return
}
var dBody interface{}
Expand Down Expand Up @@ -400,6 +401,61 @@ func (se *Search) uploadTemplate(w http.ResponseWriter, r *http.Request) {
}
}

// get mapping info
func (se *Search) getMapping(w http.ResponseWriter, r *http.Request) {
param, err := getParams(r)
if err != nil {
w.Write(jsonEncode(1, map[string]interface{}{"info": err.Error()}))
return
}
u, err := url.Parse(param.Serverhost)
if err != nil {
w.Write(jsonEncode(1, map[string]interface{}{"info": err.Error()}))
return
}
c := elastigo.NewConn()
if u.User != nil {
c.Username = u.User.Username()
if pwd, bool := u.User.Password(); bool {
c.Password = pwd
}
}
c.Domain = strings.Split(u.Host, ":")[0]
c.Port = strings.Split(u.Host, ":")[1]
c.DecayDuration = 0

url := fmt.Sprintf(`/%s/_mapping`, strings.TrimSpace(param.Indices))
result, err := c.DoCommand(`GET`, url, nil, nil)
if err != nil {
w.Write(jsonEncode(1, map[string]interface{}{"info": err.Error()}))
return
}
var mapping map[string]struct {
Mappings map[string]struct {
Properties map[string]interface{} `json:"properties"`
} `json:"mappings"`
}
if err := json.Unmarshal(result, &mapping); err != nil {
w.Write(jsonEncode(1, map[string]interface{}{"info": err.Error()}))
return
}
var fields = make(map[string]string, 0)
for _, item := range mapping {
for _, types := range item.Mappings {
for field := range types.Properties {
if _, ok := fields[field]; !ok {
fields[field] = field
}
}
}
}
var mappingFields = make([]string, 0)
for key := range fields {
mappingFields = append(mappingFields, key)
}
w.Write(jsonEncode(0, mappingFields))
}

type indicesSort []Indices

func (s indicesSort) Len() int { return len(s) }
Expand Down Expand Up @@ -442,7 +498,7 @@ func (se *Search) indexDelete(w http.ResponseWriter, r *http.Request) {
url := fmt.Sprintf(`/%s`, strings.TrimSpace(param.Index))
result, err := c.DoCommand(`DELETE`, url, nil, nil)
if err != nil {
w.Write(jsonEncode(0, map[string]interface{}{"info": err.Error()}))
w.Write(jsonEncode(1, map[string]interface{}{"info": err.Error()}))
return
}
var dBody interface{}
Expand Down
7 changes: 7 additions & 0 deletions main/search/struct.go
Original file line number Diff line number Diff line change
Expand Up @@ -233,3 +233,10 @@ type ClusterStats struct {
} `json:"plugins"`
} `json:"nodes"`
}

// // Mapping 节本返回结构
// type Mapping struct {
// Mappings map[string]struct {
// Properties map[string]interface{} `json:"properties"`
// }Mapping
// }
2 changes: 1 addition & 1 deletion main/statik/statik.go

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion src/components/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@
<div v-else-if="activeIndex === 5">
<Help></Help>
</div>
<div v-else-if="activeIndex === 6">
<Monitor></Monitor>
</div>
<div v-else-if="activeIndex === 7">
<Queryui></Queryui>
</div>
</div>
</div>
</div>
Expand All @@ -39,6 +45,8 @@ import Indices from './indices'
import Mapping from './mapping'
import Help from './help'
import Tools from './tools'
import Monitor from './monitor'
import Queryui from './queryui'
export default {
name: 'home',
components: {
Expand All @@ -50,7 +58,9 @@ export default {
Indices,
Mapping,
Help,
Tools
Tools,
Monitor,
Queryui
},
computed: {
...mapGetters([
Expand Down
26 changes: 16 additions & 10 deletions src/components/indices.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
<el-input placeholder="请输入要查询的索引" icon="search" v-model="inputIndexName" :on-icon-click="handleIconClick">
</el-input>
<el-table :data="list.slice(0, showLen)" border style="width: 100%">
<el-table-column prop="index" label="Index" sortable></el-table-column>
<el-table-column prop="docs" label="Docs" sortable></el-table-column>
<el-table-column prop="size" label="Size" sortable></el-table-column>
<el-table-column prop="prisize" label="主分片大小"></el-table-column>
<el-table-column prop="health" label="Status"></el-table-column>
<el-table-column prop="uuid" label="UUID"></el-table-column>
<el-table-column prop="delete" label="Del Docs"></el-table-column>
<el-table-column prop="status" label="Status"></el-table-column>
<el-table-column prop="index" label="Index" sortable show-overflow-tooltip></el-table-column>
<el-table-column prop="docs" label="Docs" sortable show-overflow-tooltip></el-table-column>
<el-table-column prop="size" label="Size" sortable show-overflow-tooltip></el-table-column>
<el-table-column prop="prisize" label="主分片大小" show-overflow-tooltip></el-table-column>
<el-table-column prop="health" label="Status" show-overflow-tooltip></el-table-column>
<el-table-column prop="uuid" label="UUID" show-overflow-tooltip></el-table-column>
<el-table-column prop="delete" label="Del Docs" show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="Status" show-overflow-tooltip></el-table-column>
<el-table-column label="操作">
<template scope="scope">
<el-popover ref="popover{{$index}}" placement="top" width="160" v-model="scope.row.visible" trigger="click">
Expand Down Expand Up @@ -96,6 +96,12 @@
</script>

<style>
.el-table .cell {
white-space: normal;
/*word-break: break-all;*/
line-height: 24px;
overflow:hidden !important;
white-space:nowrap !important;
text-overflow:ellipsis !important;
}
</style>
17 changes: 12 additions & 5 deletions src/components/overview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@
</el-form>
</template>
</el-table-column>
<el-table-column prop="index" label="Index" ></el-table-column>
<el-table-column prop="docs" label="Docs" sortable ></el-table-column>
<el-table-column prop="size" label="Size" sortable></el-table-column>
<el-table-column prop="status" label="Status"></el-table-column>
<el-table-column prop="index" label="Index" show-overflow-tooltip></el-table-column>
<el-table-column prop="docs" label="Docs" sortable show-overflow-tooltip></el-table-column>
<el-table-column prop="size" label="Size" sortable show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="Status" show-overflow-tooltip></el-table-column>
<el-table-column label="操作">
<template scope="scope">
<el-popover ref="popover{{$index}}" placement="top" width="160" v-model="scope.row.visible" trigger="click">
Expand Down Expand Up @@ -415,7 +415,14 @@ export default {
</script>

<style>
.el-table .cell {
white-space: normal;
/*word-break: break-all;*/
line-height: 24px;
overflow:hidden !important;
white-space:nowrap !important;
text-overflow:ellipsis !important;
}
.panel-pad {
padding-right: 40px;
}
Expand Down
1 change: 1 addition & 0 deletions src/store/getters.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const getters = {
templateInfo: state => state.overviewx.templateInfo,
options: state => state.searchx.options,
result: state => state.searchx.result,
fields: state => state.searchx.fields,
showSpinner: state => state.searchx.showSpinner,
IndexTemplateList: state => state.overviewx.IndexTemplateList,
toggleMapping: state => state.mappingx.toggleMapping,
Expand Down
17 changes: 17 additions & 0 deletions src/store/modules/searchx.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,17 @@ const searchx = {
{'value': 'POST', 'label': 'POST'},
{'value': 'HEAD', 'label': 'HEAD'}
],
fields: [],
result: '{}',
showSpinner: false
},
mutations: {
SET_RESULT: (state, data) => {
state.result = data
},
SET_FIELDS: (state, data) => {
state.fields = data
},
SET_SHOW_SPINNER: (state, flag) => {
state.showSpinner = flag
}
Expand All @@ -37,6 +41,19 @@ const searchx = {
}
)
},
CURLSerachFields ({commit}, body) {
Vue.http.post(body.url, body)
.then(
response => {
if (response.body.result === 0) {
commit('SET_FIELDS', response.body.data)
}
},
error => {
console.log(error)
}
)
},
SetShowSpinner ({commit}, flag) {
commit('SET_SHOW_SPINNER', flag)
}
Expand Down
7 changes: 4 additions & 3 deletions src/store/modules/sidebarx.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ const sidebarx = {
toggleShow: true,
items: [
{fontAwesome: 'fa fa-dashboard', value: 'Dashboard'},
{fontAwesome: 'fa fa-search', value: 'query'},
{fontAwesome: 'fa fa-list', value: 'indices'},
{fontAwesome: 'fa fa-search', value: 'Query'},
{fontAwesome: 'fa fa-list', value: 'Indices'},
{fontAwesome: 'fa fa-table', value: 'Mapping'},
{fontAwesome: 'fa fa-gears', value: 'Tools'},
{fontAwesome: 'fa fa-comments-o', value: 'Help'},
{fontAwesome: 'fa fa-comments-o', value: 'Monitor'}
{fontAwesome: 'fa fa-eye', value: 'Monitor'},
{fontAwesome: 'fa fa-search-plus', value: 'QueryUI'}
]
},
mutations: {
Expand Down
6 changes: 6 additions & 0 deletions src/store/modules/toolsbarx.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ const toolsbarx = {
case 5:
commit('SET_TOGGLE_TITLE', "<i class='fa fa-comments'></i> Syntactic Sugar【语法糖】")
break
case 6:
commit('SET_TOGGLE_TITLE', "<i class='fa fa-comments'></i> Monitor Eye【ES服务监控】")
break
case 7:
commit('SET_TOGGLE_TITLE', "<i class='fa fa-comments'></i> Query UI【通用查询】")
break
}
}
}
Expand Down

0 comments on commit 77a4323

Please sign in to comment.