diff --git a/api/index_management/document.go b/api/index_management/document.go
index 991cc30e..3b22c0c6 100644
--- a/api/index_management/document.go
+++ b/api/index_management/document.go
@@ -12,14 +12,16 @@ import (
)
type docReqBody struct {
- Index string `json:"index"`
- Action string `json:"action"`
- Payload map[string]interface{} `json:"payload"`
- PageIndex int `json:"pageIndex"`
- PageSize int `json:"pageSize"`
- Filter string `json:"filter"`
- Cluster string `json:"cluster"`
- Keyword string `json:"keyword"`
+ Index string `json:"index"`
+ Action string `json:"action"`
+ Payload map[string]interface{} `json:"payload"`
+ PageIndex int `json:"pageIndex"`
+ PageSize int `json:"pageSize"`
+ Filter string `json:"filter"`
+ Cluster string `json:"cluster"`
+ Keyword string `json:"keyword"`
+ Sort string `json:"sort"`
+ SortDirection string `json:"sort_direction"`
}
func (handler APIHandler) HandleDocumentAction(w http.ResponseWriter, req *http.Request, ps httprouter.Params) {
@@ -94,6 +96,7 @@ func (handler APIHandler) HandleDocumentAction(w http.ResponseWriter, req *http.
var (
pageSize = 10
pageIndex = 1
+ sort = ""
)
if reqBody.PageSize > 0 {
pageSize = reqBody.PageSize
@@ -109,7 +112,14 @@ func (handler APIHandler) HandleDocumentAction(w http.ResponseWriter, req *http.
if reqBody.Filter != "" {
filter = reqBody.Filter
}
- query := fmt.Sprintf(`{"from":%d, "size": %d, "query": %s}`, from, pageSize, filter)
+ if sortField := strings.Trim(reqBody.Sort, " "); sortField != "" {
+ sortDirection := reqBody.SortDirection
+ if sortDirection != "desc" {
+ sortDirection = "asc"
+ }
+ sort = fmt.Sprintf(`"%s":{"order":"%s"}`, sortField, sortDirection)
+ }
+ query := fmt.Sprintf(`{"from":%d, "size": %d, "query": %s, "sort": [{%s}]}`, from, pageSize, filter, sort)
fmt.Println(indexName, query)
var reqBytes = []byte(query)
resp, err := client.SearchWithRawQueryDSL(indexName, reqBytes)
diff --git a/web/src/locales/en-US.js b/web/src/locales/en-US.js
index c665d301..e0c0a1ad 100644
--- a/web/src/locales/en-US.js
+++ b/web/src/locales/en-US.js
@@ -60,6 +60,15 @@ export default {
'form.publicUsers.option.A': 'Colleague A',
'form.publicUsers.option.B': 'Colleague B',
'form.publicUsers.option.C': 'Colleague C',
+ 'form.button.search': 'Search',
+ 'form.button.new': 'New',
+ 'form.button.edit': 'Edit',
+ 'form.button.delete': 'Delete',
+ 'form.button.cancel': 'Cancel',
+ 'form.button.collapse': 'Collapse',
+ 'form.button.advanced': 'Advanced',
+ 'table.field.operation': 'Operation',
+
'component.globalHeader.search': 'Search',
'component.globalHeader.search.example1': 'Search example 1',
'component.globalHeader.search.example2': 'Search example 2',
@@ -89,6 +98,7 @@ export default {
'menu.data.snapshot': 'SNAPSHOT',
'menu.data.rebuild': 'REBUILD',
'menu.data.export': 'IMPORT&EXPORT',
+ 'menu.data.query': 'DOCUMENT',
'menu.search': 'SEARCH',
'menu.search.template': 'TEMPLATE',
diff --git a/web/src/locales/zh-CN.js b/web/src/locales/zh-CN.js
index 282b91c5..ab11d3f0 100644
--- a/web/src/locales/zh-CN.js
+++ b/web/src/locales/zh-CN.js
@@ -66,6 +66,15 @@ export default {
'form.logstash.jdbcconf.placeholder':"请输入JDBC配置",
'form.logstash.kafkaconf.label':"Logstash Kafka 配置",
'form.logstash.kafkaconf.placeholder':"请输入Kafka配置",
+ 'form.button.search': '搜索',
+ 'form.button.new': '新建',
+ 'form.button.edit': '编辑',
+ 'form.button.delete': '删除',
+ 'form.button.cancel': '取消',
+ 'form.button.collapse': '收起',
+ 'form.button.advanced': '高级',
+ 'table.field.operation': '操作',
+
'component.globalHeader.search': '站内搜索',
'component.globalHeader.search.example1': '搜索提示一',
'component.globalHeader.search.example2': '搜索提示二',
diff --git a/web/src/pages/DataManagement/Document.js b/web/src/pages/DataManagement/Document.js
index daaecc2a..39eb6a3e 100644
--- a/web/src/pages/DataManagement/Document.js
+++ b/web/src/pages/DataManagement/Document.js
@@ -1,4 +1,5 @@
-import React, { Component, createRef } from 'react';
+import React from 'react';
+import { formatMessage, FormattedMessage } from 'umi/locale';
import router from 'umi/router';
import { connect } from 'dva';
import { Col, Form, Row,Select, Input, Card,Icon, Table, InputNumber, Popconfirm,
@@ -120,7 +121,7 @@ class EditableCell extends React.Component {
let initialValue = '';
if(editing){
if(type=='date'){
- initialValue = moment(record[dataIndex]);
+ initialValue = record[dataIndex] && moment(record[dataIndex]);
}else{
initialValue = record[dataIndex];
}
@@ -169,21 +170,21 @@ class EditableCell extends React.Component {
onClick={() => this.save(form, record.id)}
style={{ marginRight: 8 }}
>
- Save
+ {formatMessage({id:'form.save'})}
)}
"bool":{
"bool":{