source:
reactapp/src/Pages/Professor.js@
2998dc4
Last change on this file since 2998dc4 was 2998dc4, checked in by , 2 years ago | |
---|---|
|
|
File size: 1.3 KB |
Rev | Line | |
---|---|---|
[7cb8c3c] | 1 | import React, { useEffect, useState } from "react"; |
[3a44163] | 2 | import { Outlet, useParams } from "react-router-dom"; |
[2998dc4] | 3 | import JSOG from "jsog"; |
[3a44163] | 4 | import OpinionTree from "../Components/OpinionTree"; |
[7cb8c3c] | 5 | |
[3a44163] | 6 | function Professor(props) { |
[7cb8c3c] | 7 | let params = useParams(); |
8 | ||
[4a64cf0] | 9 | let [professor, setProfessor] = useState(null); |
10 | let [loaded, setLoaded] = useState(null); | |
[7cb8c3c] | 11 | |
12 | useEffect(() => { | |
[4a64cf0] | 13 | const url = `http://192.168.0.17:8080/public/professor/${params.professorId}`; |
[7cb8c3c] | 14 | |
15 | const fetchData = async () => { | |
16 | try { | |
17 | const response = await fetch(url); | |
[2998dc4] | 18 | var cyclicGraph = await response.json(); |
19 | var jsogStructure = JSOG.encode(cyclicGraph); // has { '@ref': 'ID' } links instead of cycles | |
20 | cyclicGraph = JSOG.decode(jsogStructure); | |
21 | setProfessor(cyclicGraph); | |
[4a64cf0] | 22 | setLoaded(true); |
[7cb8c3c] | 23 | } catch (error) { |
[3a44163] | 24 | console.log("Error", error); |
[7cb8c3c] | 25 | } |
26 | }; | |
27 | ||
28 | fetchData(); | |
29 | }, []); | |
30 | ||
[4a64cf0] | 31 | if (loaded) { |
32 | return ( | |
[7cb8c3c] | 33 | <div> |
[3a44163] | 34 | <h2>{professor.professorName}</h2> |
35 | <h3>{professor.faculty.facultyName}</h3> | |
36 | <h3>Мислења</h3> | |
37 | <div className="opinionTree"> | |
38 | <OpinionTree professor={professor} /> | |
39 | </div> | |
[4a64cf0] | 40 | <Outlet /> |
[7cb8c3c] | 41 | </div> |
[4a64cf0] | 42 | ); |
43 | } else { | |
44 | return ( | |
45 | <div> | |
46 | <p>loading</p> | |
47 | <Outlet /> | |
48 | </div> | |
49 | ); | |
50 | } | |
[7cb8c3c] | 51 | } |
52 | ||
53 | export default Professor; |
Note:
See TracBrowser
for help on using the repository browser.