Browse Source

Added daily posts graph by community

master
ss.pedroisac 5 years ago
parent
commit
86e1ab4ab5
11 changed files with 153032 additions and 17 deletions
  1. +1
    -1
      User/state/24ce6c0.json
  2. +1
    -1
      User/state/global.json
  3. BIN
      dbs/social.mv.db
  4. +3
    -0
      dbs/social.trace.db
  5. +152953
    -12
      public/scripts/main.js
  6. +1
    -1
      public/scripts/main.js.map
  7. +10
    -0
      server/services/publicacoes/graficos/comunidades/ total.get.js
  8. +11
    -0
      server/services/publicacoes/graficos/comunidades/diaria.get.js
  9. +1
    -0
      ui/package.json
  10. +48
    -0
      ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx
  11. +3
    -2
      ui/src/containers/DashboardContainer/index.jsx

+ 1
- 1
User/state/24ce6c0.json
File diff suppressed because it is too large
View File


+ 1
- 1
User/state/global.json
File diff suppressed because it is too large
View File


BIN
dbs/social.mv.db View File


+ 3
- 0
dbs/social.trace.db View File

@ -3008,3 +3008,6 @@ select * from netuno_app where uid = 'social-netuno' [22018-198]
2021-04-02 13:34:25 jdbc[3]: exception 2021-04-02 13:34:25 jdbc[3]: exception
org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement:
select * from netuno_app where uid = 'social-netuno' [22018-198] select * from netuno_app where uid = 'social-netuno' [22018-198]
2021-04-04 12:05:53 jdbc[3]: exception
org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement:
select * from netuno_app where uid = 'social-netuno' [22018-198]

+ 152953
- 12
public/scripts/main.js
File diff suppressed because it is too large
View File


+ 1
- 1
public/scripts/main.js.map
File diff suppressed because it is too large
View File


+ 10
- 0
server/services/publicacoes/graficos/comunidades/ total.get.js View File

@ -0,0 +1,10 @@
const dbPublicacoes = _db.query(`
SELECT
comunidade.nome AS comunidade,
COUNT(publicacao.id) AS total
FROM publicacao
INNER JOIN comunidade ON publicacao.comunidade_id = comunidade.id
GROUP BY nome
`)
_out.json(dbPublicacoes)

+ 11
- 0
server/services/publicacoes/graficos/comunidades/diaria.get.js View File

@ -0,0 +1,11 @@
const dbPublicacoes = _db.query(`
SELECT
TO_CHAR(publicacao.momento, 'yyyy-MM-dd') AS dia,
comunidade.nome AS comunidade,
COUNT(publicacao.id) AS total
FROM publicacao
INNER JOIN comunidade ON publicacao.comunidade_id = comunidade.id
GROUP BY dia, nome
`)
_out.json(dbPublicacoes)

+ 1
- 0
ui/package.json View File

@ -30,6 +30,7 @@
}, },
"dependencies": { "dependencies": {
"antd": "^4.1.0", "antd": "^4.1.0",
"bizcharts": "^4.1.9",
"chart.js": "^2.9.3", "chart.js": "^2.9.3",
"react-chartjs-2": "^2.9.0", "react-chartjs-2": "^2.9.0",
"react-icons": "^4.2.0" "react-icons": "^4.2.0"


+ 48
- 0
ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx View File

@ -0,0 +1,48 @@
import React, {useEffect, useState} from 'react'
import { Chart, LineAdvance} from 'bizcharts';
const GraficoPublicacoesDiariasPorComunidade = () => {
const [data, setData] = useState([])
useEffect(() => {
netuno.service({
url: "/services/publicacoes/graficos/comunidades/diaria",
method: "GET",
credentials: 'include',
headers: {
'Content-Type': 'application/json'
},
success: (response)=> {
if (response.json) {
setData(response.json)
} else {
fail();
}
},
fail: ()=> {
fail();
}
})
}, [])
const fail = ()=> {
setLoader(false)
notification["error"]({
message: 'Error',
description: 'Data loading error...',
style: {
marginTop: 100,
}
});
};
return(
<Chart padding={[10, 20, 50, 40]} autoFit height={300} data={data}>
<LineAdvance
shape="smooth"
point
area
position="dia*total"
color="comunidade" />
</Chart>
)
}
export default GraficoPublicacoesDiariasPorComunidade

+ 3
- 2
ui/src/containers/DashboardContainer/index.jsx View File

@ -1,6 +1,7 @@
import React, { Component } from "react"; import React, { Component } from "react";
import MyButton from "../../components/MyButton/index.jsx"; import MyButton from "../../components/MyButton/index.jsx";
import PessoasTabela from "../../components/PessoasTabela/index.jsx"; import PessoasTabela from "../../components/PessoasTabela/index.jsx";
import GraficoPublicacoesDiariasPorComunidade from "../../components/GraficoPublicacoesDiariasPorComunidade/index.jsx"
import Tabs from 'antd/lib/tabs'; import Tabs from 'antd/lib/tabs';
import {AiOutlineUser, AiOutlineBarChart, AiOutlineLineChart} from 'react-icons/ai' import {AiOutlineUser, AiOutlineBarChart, AiOutlineLineChart} from 'react-icons/ai'
import "./index.less"; import "./index.less";
@ -66,10 +67,10 @@ export default class DashboardContainer extends Component {
<TabPane tab={ <TabPane tab={
<span className="tab-name"> <span className="tab-name">
<AiOutlineLineChart size={24} color="#444" style={{marginRight: 5}} /> <AiOutlineLineChart size={24} color="#444" style={{marginRight: 5}} />
Gráfico de linhas
Publicações diárias
</span> </span>
} key="3"> } key="3">
<>Content 3</>
<GraficoPublicacoesDiariasPorComunidade />
</TabPane> </TabPane>
</Tabs> </Tabs>
</div> </div>


Loading…
Cancel
Save