fix pack 2
This commit is contained in:
parent
b2ba30db92
commit
96c515b662
@ -6,6 +6,7 @@ library(plotly)
|
||||
library(DT)
|
||||
library(shinyjs)
|
||||
library(leaflet)
|
||||
library(tidyverse)
|
||||
|
||||
#source(".R/home_module.R",encoding="utf-8")
|
||||
#source(".R/about_module.R",encoding="utf-8")
|
||||
@ -161,7 +162,7 @@ server <- shinyServer(function(input, output, session){
|
||||
inlineCSS(list(.clicked = "background-color: #008375 !important")),
|
||||
column(12,
|
||||
navbarPage("",
|
||||
tabPanel(a("TakeCareApp",id='takeCareApp',class = "tab-link", href = route_link("home"))),
|
||||
tabPanel(a("TakeCareApp",id='takeCareApp',class = "tab-link", href = route_link("/home"))),
|
||||
tabPanel(a("Firmy",id="tab1",class = "tab-link", href = route_link("firms"))),
|
||||
tabPanel(a("O nas",id="tab2",class = "tab-link", href = route_link("about"))),
|
||||
tabPanel(a("Zaloguj",id="tab3",class="tab-link", href = route_link("login"))),
|
||||
|
@ -6,55 +6,66 @@ library(DT)
|
||||
|
||||
calculatorUI <- function(id){
|
||||
ns <- NS(id)
|
||||
fluidPage(
|
||||
uiOutput("calculatorPage")
|
||||
|
||||
|
||||
fluidRow(
|
||||
column(3,
|
||||
tags$div("Panel sterowania") %>% tagAppendAttributes(class="panel-title"),
|
||||
wellPanel(
|
||||
sliderInput("slider1", strong("Wiek pacjenta:"),min = 14, max = 100, value = 40),
|
||||
selectInput("select1",strong("Obecność wodobrzusza:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
selectInput("select2",strong("Obecność przepływu krwi w projekcji brodawkowatej:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
sliderInput("slider2", strong("Największa średnica elementu stałego (w mm):"),min = 0, max = 200, value = 0),
|
||||
selectInput("select3",strong("Nieregularna wewnętrzna ściana torbieli:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
selectInput("select4",strong("Obecność cieni akustycznych:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
actionButton("update" ,"Oblicz"),
|
||||
downloadButton("report", "Generuj raport"))
|
||||
|
||||
|
||||
)%>% tagAppendAttributes(id = 'column-panel'),
|
||||
column(9,
|
||||
tags$div("Kalkulator wskaźnika ryzyka nowotworu jajnika (IOTA LR2)") %>% tagAppendAttributes(class="panel-title"),
|
||||
wellPanel(
|
||||
p("Aplikacja przeznaczona jest dla lekarzy ginekologów i wdraża wskaźnik złośliwości nowotworu jajnika w oparciu o algorytm IOTA LR2. Wizualizuje również wynik regresji logistycznej."),
|
||||
p("Szczegółowy opis algorytmu znajduje się w artykule: Timmerman D, Testa AC, Bourne T, [i in.]. Model regresji logistycznej do rozróżniania łagodnych i złośliwych guzów przydatków przed operacją: wieloośrodkowe badanie przeprowadzone przez International Ovarian Tumor Analysis Group. J Clin Oncol. 2005, 23, 8794-8801."),
|
||||
p("Ogólnie algorytm LR2 przewiduje, że nowotwór jest łagodny, gdy pacjent jest młody, lity składnik zmiany jest mały i występują cienie akustyczne. Możesz to sprawdzić empirycznie za pomocą różnych kombinacji wartości wejściowych."),
|
||||
p("Wypełnij formularz i kliknij",strong("Oblicz")," "),
|
||||
|
||||
htmlOutput("selected_var"),
|
||||
htmlOutput("var"),
|
||||
br(),
|
||||
plotlyOutput("wykres"),
|
||||
uiOutput("calculatorSave")
|
||||
)
|
||||
)%>% tagAppendAttributes(id = 'column-content')
|
||||
) %>% tagAppendAttributes(id = 'row-content'),
|
||||
fluidRow(
|
||||
column(12,
|
||||
tags$span("© Copyright Wszystkie prawa zastrzeżone."))%>% tagAppendAttributes(id = 'column-copyright'),
|
||||
|
||||
)%>% tagAppendAttributes(id = 'row-footer')
|
||||
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
calculatorServer <- function(input, output, session) {
|
||||
calculatorRV <-reactiveValues(value=NULL)
|
||||
calculatorTV <-reactiveValues(value=NULL)
|
||||
|
||||
|
||||
output$calculatorPage<-renderUI({
|
||||
if(get_page()=="calculator"){
|
||||
|
||||
fluidPage(
|
||||
|
||||
|
||||
fluidRow(
|
||||
column(3,
|
||||
tags$div("Panel sterowania") %>% tagAppendAttributes(class="panel-title"),
|
||||
wellPanel(
|
||||
sliderInput("slider1", strong("Wiek pacjenta:"),min = 14, max = 100, value = 40),
|
||||
selectInput("select1",strong("Obecność wodobrzusza:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
selectInput("select2",strong("Obecność przepływu krwi w projekcji brodawkowatej:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
sliderInput("slider2", strong("Największa średnica elementu stałego (w mm):"),min = 0, max = 200, value = 0),
|
||||
selectInput("select3",strong("Nieregularna wewnętrzna ściana torbieli:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
selectInput("select4",strong("Obecność cieni akustycznych:"),choices = list("Nie"=0,"Tak"=1),selected=0),
|
||||
actionButton("update" ,"Oblicz"),
|
||||
downloadButton("report", "Generuj raport"))
|
||||
|
||||
|
||||
)%>% tagAppendAttributes(id = 'column-panel'),
|
||||
column(9,
|
||||
tags$div("Kalkulator wskaźnika ryzyka nowotworu jajnika (IOTA LR2)") %>% tagAppendAttributes(class="panel-title"),
|
||||
wellPanel(
|
||||
p("Aplikacja przeznaczona jest dla lekarzy ginekologów i wdraża wskaźnik złośliwości nowotworu jajnika w oparciu o algorytm IOTA LR2. Wizualizuje również wynik regresji logistycznej."),
|
||||
p("Szczegółowy opis algorytmu znajduje się w artykule: Timmerman D, Testa AC, Bourne T, [i in.]. Model regresji logistycznej do rozróżniania łagodnych i złośliwych guzów przydatków przed operacją: wieloośrodkowe badanie przeprowadzone przez International Ovarian Tumor Analysis Group. J Clin Oncol. 2005, 23, 8794-8801."),
|
||||
p("Ogólnie algorytm LR2 przewiduje, że nowotwór jest łagodny, gdy pacjent jest młody, lity składnik zmiany jest mały i występują cienie akustyczne. Możesz to sprawdzić empirycznie za pomocą różnych kombinacji wartości wejściowych."),
|
||||
p("Wypełnij formularz i kliknij",strong("Oblicz")," "),
|
||||
|
||||
htmlOutput("selected_var"),
|
||||
htmlOutput("var"),
|
||||
br(),
|
||||
plotlyOutput("wykres"),
|
||||
uiOutput("calculatorSave")
|
||||
)
|
||||
)%>% tagAppendAttributes(id = 'column-content')
|
||||
) %>% tagAppendAttributes(id = 'row-content'),
|
||||
fluidRow(
|
||||
column(12,
|
||||
tags$span("© Copyright Wszystkie prawa zastrzeżone."))%>% tagAppendAttributes(id = 'column-copyright'),
|
||||
|
||||
)%>% tagAppendAttributes(id = 'row-footer')
|
||||
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
output$report <- downloadHandler(
|
||||
|
||||
filename = "raport.pdf",
|
||||
|
@ -85,7 +85,7 @@ loginServer <- function(input, output,session) {
|
||||
|
||||
output$loginErr<-renderUI({
|
||||
if (isCorrect()==TRUE){
|
||||
p("OK",style="color:white;text-align:center;")
|
||||
|
||||
}else{
|
||||
p("Uzytkownik nie istnieje lub wprowadzono bledne dane",style="color:yellow;text-align:center;")
|
||||
}
|
||||
|
@ -121,10 +121,13 @@ profilServer <- function(input, output,session) {
|
||||
|
||||
personalDataVector <- reactiveVal()
|
||||
historyDataVector <- reactiveVal()
|
||||
activeTab<-reactiveVal()
|
||||
|
||||
downloadPersonalData<-reactive({
|
||||
|
||||
|
||||
r<-httr::GET("http://localhost:8080/api/profile",add_headers(Authorization=paste("Bearer",input$token,sep=" ")))
|
||||
print("Reactive data")
|
||||
r
|
||||
|
||||
|
||||
@ -133,6 +136,7 @@ profilServer <- function(input, output,session) {
|
||||
downloadHistoryData<-reactive({
|
||||
|
||||
r<-httr::GET("http://localhost:8080/api/prediction/usersPredictions/ind",add_headers(Authorization=paste("Bearer",input$token,sep=" ")),encode = 'json')
|
||||
print("Reactive hist")
|
||||
r
|
||||
|
||||
|
||||
@ -140,29 +144,25 @@ profilServer <- function(input, output,session) {
|
||||
|
||||
observe({
|
||||
currPage = get_page()
|
||||
if(currPage=="profile" | currPage=="calculator" | currPage=="iota"){
|
||||
if(currPage=="profil" | currPage=="calculator" | currPage=="iota"){
|
||||
|
||||
if(currPage=="profile"){
|
||||
run = paste('Shiny.onInputChange("pagePROFILE","',timestamp(),'");',sep="")
|
||||
shinyjs::runjs(run)
|
||||
|
||||
|
||||
}
|
||||
else{
|
||||
shinyjs::runjs('Shiny.onInputChange("profileTabs", "");')
|
||||
}
|
||||
session$sendCustomMessage(type='tokenHandlerAccess',(session$clientData)$url_hash)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
observeEvent(input$profileTabs,{
|
||||
|
||||
|
||||
|
||||
if(input$profileTabs=="data"){
|
||||
|
||||
personalDataVector(downloadPersonalData())
|
||||
}else if(input$profileTabs=="history"){
|
||||
|
||||
historyDataVector(downloadHistoryData())
|
||||
|
||||
}
|
||||
@ -246,6 +246,7 @@ profilServer <- function(input, output,session) {
|
||||
|
||||
|
||||
output$afterLogin<-renderUI({
|
||||
if(get_page()=="profil"){
|
||||
if(!is.null(input$auth) & length(input$auth)>0 ){
|
||||
fluidRow(
|
||||
|
||||
@ -262,6 +263,7 @@ profilServer <- function(input, output,session) {
|
||||
}else{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
@ -308,16 +310,16 @@ profilServer <- function(input, output,session) {
|
||||
df_historyTable<-df_historyTable %>%
|
||||
mutate(Akcja=historyTableButtons)%>%
|
||||
select(name,resultValue,localDateTime,Akcja) %>%
|
||||
mutate(localDateTime = (str_replace(strptime(str_replace(localDateTime,"T"," "),"%Y-%m-%d %H:%M:%S")," CET","")))%>%
|
||||
rename(
|
||||
Nazwa = name,
|
||||
Wynik = resultValue,
|
||||
Data = localDateTime
|
||||
)
|
||||
|
||||
|
||||
df_historyTable$Nazwa<-do.call(c, df_historyTable$Nazwa)
|
||||
df_historyTable$Wynik<-do.call(c, df_historyTable$Wynik)
|
||||
df_historyTable$Data<-do.call(c, df_historyTable$Data)
|
||||
|
||||
|
||||
DT::datatable(df_historyTable,selection="none",options = list(scrollX = TRUE,language=pl))}
|
||||
# }
|
||||
|
@ -60,13 +60,7 @@ public class UserController {
|
||||
HttpServletResponse httpServletResponse){
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
try {
|
||||
String jsonString = mapper.writeValueAsString(personalProfileDTO);
|
||||
System.out.println(jsonString);
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user