Skip to content
Snippets Groups Projects
Commit c728389f authored by cns82's avatar cns82
Browse files

add loading indicator

parent 665de490
Branches
No related tags found
No related merge requests found
...@@ -24,8 +24,23 @@ ...@@ -24,8 +24,23 @@
align-items: stretch; align-items: stretch;
flex-direction: column; flex-direction: column;
width: 150px; width: 150px;
margin-right: 0;
}
.indicator-column {
display: flex;
align-items: stretch;
flex-direction: column;
width: 15px;
} }
.form-box{ .form-box{
margin-bottom: 50px; margin-bottom: 50px;
} }
#small-indicator,
#medium-indicator,
#large-indicator {
vertical-align: middle;
margin-right: 10px;
}
\ No newline at end of file
import React, { useState } from 'react'; import React, { useState } from 'react';
import DataGrid, { Scrolling, Sorting, LoadPanel } from 'devextreme-react/data-grid'; import DataGrid, { Scrolling, Sorting, LoadPanel } from 'devextreme-react/data-grid';
import { Button } from 'devextreme-react/button';
import TextBox from 'devextreme-react/text-box'; import TextBox from 'devextreme-react/text-box';
import "./search.css" import "./search.css"
import axios from "axios"; import axios from "axios";
import { LoadIndicator } from 'devextreme-react/load-indicator';
function search(query) { function search(query) {
const config = { const config = {
...@@ -18,6 +20,7 @@ function search(query) { ...@@ -18,6 +20,7 @@ function search(query) {
let SearchEngine = function () { let SearchEngine = function () {
const [queryResult, setQueryResult] = useState([]); const [queryResult, setQueryResult] = useState([]);
const [isLoading, setIsLoading] = useState(false);
const parseESData = (data) => { const parseESData = (data) => {
...@@ -36,12 +39,14 @@ let SearchEngine = function () { ...@@ -36,12 +39,14 @@ let SearchEngine = function () {
const handleSubmit = (e) => { const handleSubmit = (e) => {
e.preventDefault(); e.preventDefault();
setIsLoading(true)
search(e.target[0].value).then((res) => { search(e.target[0].value).then((res) => {
let parsedRes = parseESData(res.data) let parsedRes = parseESData(res.data)
setQueryResult(parsedRes) setQueryResult(parsedRes)
setIsLoading(false)
}).catch((error) => { }).catch((error) => {
console.log(error) console.log(error)
setIsLoading(false)
}) })
} }
...@@ -58,9 +63,13 @@ let SearchEngine = function () { ...@@ -58,9 +63,13 @@ let SearchEngine = function () {
<div className="column-left"> <div className="column-left">
<TextBox width={"100%"} className="dx-field-value" /> <TextBox width={"100%"} className="dx-field-value" />
</div> </div>
<div className="column-right"> <div className="column-right">
<input type="submit" value="Search" /> <input type="submit" value="Search" />
</div> </div>
<div className="indicator-column">
<LoadIndicator id="medium-indicator" height={20} width={20} visible={isLoading}/>
</div>
</div> </div>
</form> </form>
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment