diff --git a/web/config/router.config.js b/web/config/router.config.js
index 3da3db9a..4b932992 100644
--- a/web/config/router.config.js
+++ b/web/config/router.config.js
@@ -121,6 +121,10 @@ export default [
path: '/data/import',
name: 'export',
component: './DataManagement/Import',
+ },{
+ path: '/data/doc',
+ name: 'query',
+ component: './DataManagement/Query',
},
]
},
diff --git a/web/src/components/PageHeaderWrapper/index.js b/web/src/components/PageHeaderWrapper/index.js
index 7338659b..78458bc6 100644
--- a/web/src/components/PageHeaderWrapper/index.js
+++ b/web/src/components/PageHeaderWrapper/index.js
@@ -8,7 +8,7 @@ import styles from './index.less';
import MenuContext from '@/layouts/MenuContext';
const PageHeaderWrapper = ({ children, contentWidth, wrapperClassName, top, ...restProps }) => (
-
+
{top}
{value => (
diff --git a/web/src/components/PageHeaderWrapper/index.less b/web/src/components/PageHeaderWrapper/index.less
index 39a44965..32011104 100644
--- a/web/src/components/PageHeaderWrapper/index.less
+++ b/web/src/components/PageHeaderWrapper/index.less
@@ -1,7 +1,7 @@
@import '~antd/lib/style/themes/default.less';
.content {
- margin: 24px 24px 0;
+ margin: 10px 10px 0;
}
@media screen and (max-width: @screen-sm) {
diff --git a/web/src/layouts/BasicLayout.js b/web/src/layouts/BasicLayout.js
index 58df4e32..4f56066f 100644
--- a/web/src/layouts/BasicLayout.js
+++ b/web/src/layouts/BasicLayout.js
@@ -201,7 +201,7 @@ class BasicLayout extends React.PureComponent {
getContentStyle = () => {
const { fixedHeader } = this.props;
return {
- margin: '24px 24px 0',
+ margin: '10px 10px 0',
paddingTop: fixedHeader ? 64 : 0,
};
};
diff --git a/web/src/locales/zh-CN.js b/web/src/locales/zh-CN.js
index 8b02cc24..c8ed0a4b 100644
--- a/web/src/locales/zh-CN.js
+++ b/web/src/locales/zh-CN.js
@@ -96,6 +96,7 @@ export default {
'menu.data.snapshot': '快照管理',
'menu.data.rebuild': '重建管理',
'menu.data.export': '导入导出',
+ 'menu.data.query': '文档管理',
'menu.search': '搜索管理',
'menu.search.template': '搜索模板',
diff --git a/web/src/pages/Dashboard/ClusterMonitor.js b/web/src/pages/Dashboard/ClusterMonitor.js
index e98da12e..e88f943a 100644
--- a/web/src/pages/Dashboard/ClusterMonitor.js
+++ b/web/src/pages/Dashboard/ClusterMonitor.js
@@ -258,7 +258,7 @@ class ClusterMonitor extends PureComponent {
- {
+ var elemTop=elem.offsetTop;
+ elem=elem.offsetParent;
+
+ while(elem!=null){
+ elemTop+=elem.offsetTop;
+ elem=elem.offsetParent;
+ }
+
+ return elemTop;
+
+ }
+ console.log(getElementTop(this.refs.jsonw));
+ this.setState({height: window.innerHeight - getElementTop(this.refs.jsonw) -50});
+ }
+ render(){
+ return (
+ {console.log(document.getElementById('jsonw').offsetTop)}} style={{overflow:"scroll", height: this.state.height}}> {this.props.children}
+ )
+ }
+}
const CreateForm = Form.create()(props => {
const { modalVisible, form, handleAdd, handleModalVisible } = props;
@@ -109,6 +145,8 @@ class Document extends PureComponent {
selectedRows: [],
formValues: {},
updateFormValues: {},
+ drawerVisible: false,
+ editingIndex:{},
};
datasource = `[{"health":"green","status":"open","index":"blogs_fixed","uuid":"Q6zngGf9QVaWqpV0lF-0nw","pri":"1","rep":"1","docs.count":"1594","docs.deleted":"594","store.size":"17.9mb","pri.store.size":"8.9mb"},{"health":"red","status":"open","index":"elastic_qa","uuid":"_qkVlQ5LRoOKffV-nFj8Uw","pri":"1","rep":"1","docs.count":null,"docs.deleted":null,"store.size":null,"pri.store.size":null},{"health":"green","status":"open","index":".kibana-event-log-7.9.0-000001","uuid":"fgTtyl62Tc6F1ddJfPwqHA","pri":"1","rep":"1","docs.count":"20","docs.deleted":"0","store.size":"25kb","pri.store.size":"12.5kb"},{"health":"green","status":"open","index":"blogs","uuid":"Mb2n4wnNQSKqSToI_QO0Yg","pri":"1","rep":"1","docs.count":"1594","docs.deleted":"0","store.size":"11mb","pri.store.size":"5.5mb"},{"health":"green","status":"open","index":".kibana-event-log-7.9.0-000002","uuid":"8GpbwnDXR2KJUsw6srLnWw","pri":"1","rep":"1","docs.count":"9","docs.deleted":"0","store.size":"96.9kb","pri.store.size":"48.4kb"},{"health":"green","status":"open","index":".apm-agent-configuration","uuid":"vIaV9k2VS-W48oUOe2xNWA","pri":"1","rep":"1","docs.count":"0","docs.deleted":"0","store.size":"416b","pri.store.size":"208b"},{"health":"green","status":"open","index":"logs_server1","uuid":"u56jv2AyR2KOkruOfxIAnA","pri":"1","rep":"1","docs.count":"5386","docs.deleted":"0","store.size":"5.1mb","pri.store.size":"2.5mb"},{"health":"green","status":"open","index":".kibana_1","uuid":"dBCrfVblRPGVlYAIlP_Duw","pri":"1","rep":"1","docs.count":"3187","docs.deleted":"50","store.size":"24.8mb","pri.store.size":"12.4mb"},{"health":"green","status":"open","index":".tasks","uuid":"3RafayGeSNiqglO2BHof9Q","pri":"1","rep":"1","docs.count":"3","docs.deleted":"0","store.size":"39.9kb","pri.store.size":"19.9kb"},{"health":"green","status":"open","index":"filebeat-7.9.0-elastic_qa","uuid":"tktSYU14S3CrsrJb0ybpSQ","pri":"1","rep":"1","docs.count":"3009880","docs.deleted":"0","store.size":"1.6gb","pri.store.size":"850.1mb"},{"health":"green","status":"open","index":"analysis_test","uuid":"6ZHEAW1ST_qfg7mo4Bva4w","pri":"1","rep":"1","docs.count":"0","docs.deleted":"0","store.size":"416b","pri.store.size":"208b"},{"health":"green","status":"open","index":".apm-custom-link","uuid":"Y4N2TeVERrGacEGwY-NPAQ","pri":"1","rep":"1","docs.count":"0","docs.deleted":"0","store.size":"416b","pri.store.size":"208b"},{"health":"green","status":"open","index":"kibana_sample_data_ecommerce","uuid":"4FIWJKhGSr6bE72R0xEQyA","pri":"1","rep":"1","docs.count":"4675","docs.deleted":"0","store.size":"9.2mb","pri.store.size":"4.6mb"},{"health":"green","status":"open","index":".kibana_task_manager_1","uuid":"9afyndU_Q26oqOiEIoqRJw","pri":"1","rep":"1","docs.count":"6","docs.deleted":"2","store.size":"378.8kb","pri.store.size":"12.5kb"},{"health":"green","status":"open","index":".async-search","uuid":"2VbJgnN7SsqC-DWN64yXUQ","pri":"1","rep":"1","docs.count":"0","docs.deleted":"0","store.size":"3.9kb","pri.store.size":"3.7kb"}]`;
@@ -116,6 +154,14 @@ class Document extends PureComponent {
{
title: '索引名称',
dataIndex: 'index',
+ render: (text, record) => (
+ {
+ this.setState({
+ editingIndex: record,
+ drawerVisible: true,
+ });
+ }}>{text}
+ )
},
{
title: '文档数',
@@ -137,8 +183,8 @@ class Document extends PureComponent {
title: '操作',
render: (text, record) => (
- this.handleUpdateModalVisible(true, record)}>设置
-
+ {/* this.handleUpdateModalVisible(true, record)}>设置
+ */}
{
this.state.selectedRows.push(record);
this.handleDeleteClick();
@@ -147,7 +193,7 @@ class Document extends PureComponent {
{
this.state.selectedRows.push(record);
this.handleDeleteClick();
- }}>新增文档
+ }}>文档管理
),
},
@@ -327,7 +373,7 @@ class Document extends PureComponent {
pageSize: 5,
},
};
- const { selectedRows, modalVisible, updateModalVisible, updateFormValues } = this.state;
+ const { selectedRows, modalVisible, updateModalVisible, updateFormValues,editingIndex, drawerVisible } = this.state;
const parentMethods = {
handleAdd: this.handleAdd,
handleModalVisible: this.handleModalVisible,
@@ -336,6 +382,7 @@ class Document extends PureComponent {
handleUpdateModalVisible: this.handleUpdateModalVisible,
handleUpdate: this.handleUpdate,
};
+
return (
@@ -368,6 +415,193 @@ class Document extends PureComponent {
values={updateFormValues}
/>
) : null}
+ {
+ this.setState({
+ drawerVisible: false,
+ });
+ }}
+ width={640}
+ >
+ {}}>
+
+
+ green
+ open
+ 1
+ 0
+ 5
+ 0
+ 115.3kb
+
+
+
+
+
+
+
+
+
+
+ Content of Tab Pane 3
+
+
+ Content of Tab Pane 3
+
+
+
+ {}}>
+
+
+ Delete
+
+
+
+ Edit
+
+
+
+ Close
+
+
+ )}>
+
+
+
+
);
}
diff --git a/web/src/pages/DataManagement/Query.js b/web/src/pages/DataManagement/Query.js
new file mode 100644
index 00000000..43c66d63
--- /dev/null
+++ b/web/src/pages/DataManagement/Query.js
@@ -0,0 +1,141 @@
+import React, { Component } from 'react';
+import { connect } from 'dva';
+import PageHeaderWrapper from '@/components/PageHeaderWrapper';
+import { Col, Form, Row,Select, Input, Card,Icon,List, Descriptions } from 'antd';
+
+const {Option} = Select;
+
+@Form.create()
+class Query extends React.Component {
+ state={
+ bodyDisplay: 'none',
+ data: [{
+ index: 'blogs-001',
+ id: 'dpOsA3YBCjFOm54VZoNF',
+ source: `{
+ "title" : "elastic search test title",
+ "content": "如默认结构不满足需求,可以自定义该模板,但是自定义模板时必须包含各个 dom 节点的 class,样式可以自定义。",
+ "created_at" : "2020-11-23"
+ }`
+ },
+ {
+ index: 'blogs-002',
+ id: "dpOsA3YBCjFOm54VZoNB",
+ source: `{
+ "title" : "elastic search test title",
+ "created_at" : "2020-11-23",
+ "content": "如默认结构不满足需求,可以自定义该模板,但是自定义模板时必须包含各个 dom 节点的 class,样式可以自定义。"
+ }`
+ },
+ {
+ index: 'blogs-002',
+ id: "dpOsA3YBCjFOm54VZoNC",
+ source: `{
+ "title" : "elastic search test title",
+ "created_at" : "2020-11-23",
+ "content":"如默认结构不满足需求,可以自定义该模板,但是自定义模板时必须包含各个 dom 节点的 class,样式可以自定义。"
+ }`
+ },
+ {
+ index: 'blogs-001',
+ id:"dpOsA3YBCjFOm54VZoNG",
+ source: `{
+ "title" : "elastic search test title",
+ "content":"如默认结构不满足需求,可以自定义该模板,但是自定义模板时必须包含各个 dom 节点的 class,样式可以自定义。",
+ "created_at" : "2020-11-23"
+ }`
+ }, {
+ index: 'blogs-001',
+ id:"dpOsA3YBCjFOm54VZoNG",
+ source: `{
+ "title" : "elastic search test title",
+ "content":"如默认结构不满足需求,可以自定义该模板,但是自定义模板时必须包含各个 dom 节点的 class,样式可以自定义。",
+ "created_at" : "2020-11-23"
+ }`
+ }]
+ }
+
+ render(){
+ // const {getFieldDecorator} = this.props.form;
+ return (
+
+ )
+ }
+
+}
+
+export default Query;
\ No newline at end of file
diff --git a/web/src/pages/DataManagement/Rebuild.js b/web/src/pages/DataManagement/Rebuild.js
index 49760747..f6efb503 100644
--- a/web/src/pages/DataManagement/Rebuild.js
+++ b/web/src/pages/DataManagement/Rebuild.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { connect } from 'dva';
import PageHeaderWrapper from '@/components/PageHeaderWrapper';
-import {Steps, Card, Form, Select, Input,Button, Divider,message,Spin} from 'antd';
+import {Steps, Card, Form, Select, Input,Button, Divider,message,Spin, Row, Col,Result} from 'antd';
const {Step} = Steps;
const {Option} = Select;
@@ -128,6 +128,19 @@ class Rebuild extends Component {
)
+ break;
+ case 3:
+ stepDom = (
+ // ,
+ ,
+ ]}
+ />)
+ break;
}
return stepDom;
}
@@ -206,10 +219,10 @@ class Rebuild extends Component {
-
-
-
-
+
+
+
+
{this.renderSteps(this.state.currentStep)}
diff --git a/web/src/pages/DataManagement/backup/BakAndRestore.js b/web/src/pages/DataManagement/backup/BakAndRestore.js
index 019c4547..6d9eb90c 100644
--- a/web/src/pages/DataManagement/backup/BakAndRestore.js
+++ b/web/src/pages/DataManagement/backup/BakAndRestore.js
@@ -89,11 +89,18 @@ class BakAndRestore extends Component {
}
};
return (
-
+
);
};
@@ -164,11 +171,18 @@ class BakAndRestore extends Component {
}
};
return (
-
+
);
};
@@ -222,11 +236,22 @@ class BakAndRestore extends Component {
visible={this.state.snapshotVisible}
>
-
- Zhou Maomao
- 1810000000
+
+ cluster_snapshot_1
+ 2s
+
+
+
+ 2020-10-09 20:30:23
-
+
+
+
+
+
diff --git a/web/src/pages/DataManagement/backup/BakAndRestore.less b/web/src/pages/DataManagement/backup/BakAndRestore.less
index a1c68de0..de4b14ef 100644
--- a/web/src/pages/DataManagement/backup/BakAndRestore.less
+++ b/web/src/pages/DataManagement/backup/BakAndRestore.less
@@ -6,7 +6,10 @@
}
}
}
-.btnRestore{
+.drawerFooter{
position:absolute;
bottom: 20px;
+ .btnRestore{
+ margin-right: 10px;
+ }
}