diff --git a/.Rhistory b/.Rhistory new file mode 100644 index 0000000..f759cde --- /dev/null +++ b/.Rhistory @@ -0,0 +1,295 @@ +shiny::runApp('ap1') +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +p("Shiny jest dostpny w repozytorium CRAN, wiec mozesz zainstalowac go w zwykly sposob z konsoli R:"), +code("install.packages(\"shiny\")"), +br(), +br(), +br(), +br(), +img(src = "rstudio.png", height = 60, width = 200), +p("Shiny jest produktem",span("RStudio", style = "color:red")) +), +mainPanel( +h1("Wprowadzenie do Shiny", align = "left"), +p("Shiny jest nowym pakietem RStudio, ktory",em("bardzo ulatwia"),"tworzenie interaktywnych aplikacji internetowych w R."), +br(), +p("Duzo informacji i przykladow znajduje sie na",a("stronie Shiny."),""), +br(), +br(), +h2("Ficzery"), +p("-Tworz uzyteczne aplikacje internetowe zaledwie kilkoma liniami kodu - nie jest wymagana znajomosc JavaScriptu"), +p("-Aplikacje Shiny aktualizuja sie tak samo" ,strong("szybko"),"jak arkusze danych np. Excel. Wyniki zmieniaja sie natychmiast - gdy uzytkownicy modyfikuja dane wejsciowe, nie ma koniecznosci ponownego przeladowania strony.") +) +) +) +server <- function(input, output) { +} +shinyApp(ui = ui, server = server) +runApp('ap1') +shiny::runApp('C:/Users/plalj/Desktop/TakeCareApp/app') +# summarize accuracy +table(predictions, iris$Species) +library(VGAM) +# load data +data(iris) +# fit model +fit <- vglm(Species~., family=multinomial, data=iris) +# summarize the fit +summary(fit) +# make predictions +probabilities <- predict(fit, iris[,1:4], type="response") +predictions <- apply(probabilities, 1, which.max) +predictions[which(predictions=="1")] <- levels(iris$Species)[1] +predictions[which(predictions=="2")] <- levels(iris$Species)[2] +predictions[which(predictions=="3")] <- levels(iris$Species)[3] +# summarize accuracy +table(predictions, iris$Species) +# load the package +library(MASS) +data(iris) +# fit model +fit <- lda(Species~., data=iris) +# summarize the fit +summary(fit) +# make predictions +predictions <- predict(fit, iris[,1:4])$class +# summarize accuracy +table(predictions, iris$Species) +# fit model +fit <- lda(Species~., data=iris) +fit +# summarize the fit +summary(fit) +# make predictions +predictions <- predict(fit, iris[,1:4])$class +predictions +# summarize accuracy +table(predictions, iris$Species) +shiny::runApp('C:/Users/plalj/Desktop/TakeCareApp/app') +setwd("C:/Users/plalj/Desktop/TakeCareApp") +shiny::runApp('app') +runApp('app') diff --git a/app/about.R b/app/about.R index fc59bbd..2d2e73e 100644 --- a/app/about.R +++ b/app/about.R @@ -13,16 +13,16 @@ aboutUI <- function(id){ tags$link(rel = "stylesheet", type = "text/css", href = "style.css") ), fluidPage( - h1("Kim jestesmy?", align = "center"), + h1("Kim jesteśmy?", align = "center"), br(), - h4("Jestesmy mlodym dynamicznym zespolem wdrazajacym sie w swiat tworzenia profesjonalnych aplikacji"), - h4("Nasz zespol sklada sie z:"), + h4("Jesteśmy młodym dynamicznym zespołem wdrażającym się w świat tworzenia profesjonalnych aplikacji"), + h4("Nasz zespół składa się z:"), br(), fluidRow(column(4, div(div("Jan Przybylski"),img(src="jp.png", height = 150, width = 150)))%>% tagAppendAttributes(class = 'column-tile'), column(4, - div(div("Rafal Piskorski"),img(src="rafal.png", height = 150, width = 150)))%>% tagAppendAttributes(class = 'column-tile'), + div(div("Rafał Piskorski"),img(src="rafal.png", height = 150, width = 150)))%>% tagAppendAttributes(class = 'column-tile'), column(4, div(div("Robert Tarnas"),img(src="robert.png", height = 150, width = 150)))%>% tagAppendAttributes(class = 'column-tile'), diff --git a/app/klasyfikator.R b/app/klasyfikator.R index ef35de8..a67c4a1 100644 --- a/app/klasyfikator.R +++ b/app/klasyfikator.R @@ -20,14 +20,15 @@ klasyui <- function(id){ min = 1, max = 100, value = 1), - selectInput("selectKlas1",strong("Zaburzenia polykania"),choices = list("Nie"=0,"Tak"=1),selected=0), - selectInput("selectKlas2",strong("Bol przy polykaniu"),choices = list("Nie"=0,"Tak"=1),selected=0), + selectInput("selectKlas1",strong("Zaburzenia połykania"),choices = list("Nie"=0,"Tak"=1),selected=0), + selectInput("selectKlas2",strong("Ból przy połykaniu"),choices = list("Nie"=0,"Tak"=1),selected=0), selectInput("selectKlas3",strong("Kaszel"),choices = list("Nie"=0,"Tak"=1),selected=0), - selectInput("selectKlas4",strong("Dusznosci i swiszczacy oddech"),choices = list("Nie"=0,"Tak"=1),selected=0), - selectInput("selectKlas5",strong("Odkrztuszanie wydzieliny z krwia i chrypka"),choices = list("Nie"=0,"Tak"=1),selected=0), - selectInput("selectKlas6",strong("Guz w obrebie gruczolu piersiowego"),choices = list("Nie"=0,"Tak"=1),selected=0), - selectInput("selectKlas7",strong("Zmiany skorne wokol brodawki."),choices = list("Nie"=0,"Tak"=1),selected=0), - selectInput("selectKlas8",strong("Wyciek z brodawki (zwlaszcza krwisty)"),choices = list("Nie"=0,"Tak"=1),selected=0) + selectInput("selectKlas4",strong("Duszności i świszczący oddech"),choices = list("Nie"=0,"Tak"=1),selected=0), + selectInput("selectKlas5",strong("Odkrztuszanie wydzieliny z krwią i chrypka"),choices = list("Nie"=0,"Tak"=1),selected=0), + selectInput("selectKlas6",strong("Guz w obrębie gruczołu piersiowego"),choices = list("Nie"=0,"Tak"=1),selected=0), + selectInput("selectKlas7",strong("Zmiany skórne wokół brodawki"),choices = list("Nie"=0,"Tak"=1),selected=0), + selectInput("selectKlas8",strong("Wyciek z brodawki (zwłaszcza krwisty)"),choices = list("Nie"=0,"Tak"=1),selected=0), + downloadButton("report1", "Generuj raport") ) @@ -96,18 +97,52 @@ klasyserver <- function(input, output,session) { } #print(pi*100) z=100-(k+p+pi)/3 - x=c("Rak krtani","Rak piersi","Rak pluc","Zdrowy") + x=c("Rak krtani","Rak piersi","Rak płuc","Zdrowy") y=c(k,pi,p,z) d=data.frame(x,y) - print(d) + #print(d) #z=0.0029*as.numeric(input$slider1) g=ggplot(d, aes(x,y,fill=x))+ geom_col()+ - labs(x="",y="Prawdopodobienstwo [%]") + labs(x="",y="Prawdopodobieństwo [%]") ggplotly(g) }) + + output$report1 <- downloadHandler( + + filename = "raport.pdf", + content = function(file) { + + tempReport <- file.path(tempdir(), "report1.Rmd") + file.copy("report1.Rmd", tempReport, overwrite = TRUE) + + k=(0.01*as.numeric(input$sliderKlas1)+0.1*as.numeric(input$selectKlas1)+0.1*as.numeric(input$selectKlas2))*100 + if(k>100){ + k=100 + } + p=(0.01*as.numeric(input$sliderKlas1)+0.1*as.numeric(input$selectKlas3)+0.1*as.numeric(input$selectKlas4)+0.1*as.numeric(input$selectKlas5))*100 + if(p>100){ + p=100 + } + #print(p*100) + pi=(0.01*as.numeric(input$sliderKlas1)+0.1*as.numeric(input$selectKlas6)+0.1*as.numeric(input$selectKlas7)+0.1*as.numeric(input$selectKlas8))*100 + if(pi>100){ + pi=100 + } + #print(pi*100) + z=100-(k+p+pi)/3 + + params <- list(n = k,k=p,l=pi,m=z) + + + rmarkdown::render(tempReport, output_file = file, + params = params, + envir = new.env(parent = globalenv()) + ) + } + ) } diff --git a/app/login_module.R b/app/login_module.R index c3e412f..1a03f5b 100644 --- a/app/login_module.R +++ b/app/login_module.R @@ -87,7 +87,7 @@ loginServer <- function(input, output,session) { if (isCorrect()==TRUE){ }else{ - p("Uzytkownik nie istnieje lub wprowadzono bledne dane",style="color:yellow;text-align:center;") + p("Użytkownik istnieje lub wprowadzono błędne dane",style="color:yellow;text-align:center;") } }) diff --git a/app/profil_module.R b/app/profil_module.R index 070dad9..a503e95 100644 --- a/app/profil_module.R +++ b/app/profil_module.R @@ -8,20 +8,20 @@ profilUI <- function(id) { ns <- NS(id) fluidPage( useShinyjs(), - tags$head( - tags$script(src="js.cookie.js"), - tags$script('Shiny.addCustomMessageHandler("tokenHandlerUpdate", + tags$head( + tags$script(src="js.cookie.js"), + tags$script('Shiny.addCustomMessageHandler("tokenHandlerUpdate", function(token) { sessionStorage.setItem(\'token\', token); Shiny.onInputChange("token", token); } );'), - tags$script('Shiny.addCustomMessageHandler("profileActiveTabHandler", + tags$script('Shiny.addCustomMessageHandler("profileActiveTabHandler", function(arg) { Shiny.onInputChange("profileActiveTab", 1); } );'), - tags$script('Shiny.addCustomMessageHandler("viewPage", + tags$script('Shiny.addCustomMessageHandler("viewPage", function(page,token,auth) { Shiny.onInputChange("token", token); Shiny.onInputChange("auth", auth); @@ -29,34 +29,34 @@ profilUI <- function(id) { window.location.href=page; } );'), - - - tags$style(HTML(" + + + tags$style(HTML(" @import url('//fonts.googleapis.com/css?family=Lobster|Cabin:400,700'); @import url('//fonts.googleapis.com/css2?family=Fjalla+One'); ")), - tags$link(rel = "stylesheet", type = "text/css", href = "profile.css") + tags$link(rel = "stylesheet", type = "text/css", href = "profile.css") ), - - # theme = "style.css", - - - # App title ---- - - uiOutput("afterLogin"), - - - - - fluidRow( - column(12, - tags$span("Copyright Wszystkie prawa zastrzezone."))%>% tagAppendAttributes(id = 'column-copyright'), - )%>% tagAppendAttributes(id = 'row-footer') - - -)} + # theme = "style.css", + + + # App title ---- + + uiOutput("afterLogin"), + + + + + fluidRow( + column(12, + tags$span("Copyright Wszystkie prawa zastrzeżone."))%>% tagAppendAttributes(id = 'column-copyright'), + + )%>% tagAppendAttributes(id = 'row-footer') + + + )} profilServer <- function(input, output,session) { @@ -72,20 +72,20 @@ profilServer <- function(input, output,session) { getEditStatus <- eventReactive(input$editSubmit, { editedPersonalData<-data.frame(name<-input$editName, - surname<-input$editSurname, - mail<-input$editMail, - datebirth<-input$editAge, - gender<-input$editGender) + surname<-input$editSurname, + mail<-input$editMail, + datebirth<-input$editAge, + gender<-input$editGender) - # reg<-c(grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,15}$",editedPersonalData$name), - # grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,20}$",editedPersonalData$surname), + # reg<-c(grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,15}$",editedPersonalData$name), + # grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,20}$",editedPersonalData$surname), # grepl("^[a-z]+[0-9]*@([a-z]{2,10}\\.)+[a-z]{2,5}$",editedPersonalData$mail)) - reg<-c(grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,15}$",editedPersonalData$name), - grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,20}$",editedPersonalData$surname), + reg<-c(grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,15}$",editedPersonalData$name), + grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,20}$",editedPersonalData$surname), grepl("^[a-z]+[0-9]*@([a-z]{2,10}\\.)+[a-z]{2,5}$",editedPersonalData$mail)) if(all(reg)){ - + personalData = list( name = editedPersonalData$name, surname = editedPersonalData$surname, @@ -98,7 +98,7 @@ profilServer <- function(input, output,session) { personalDataDTO = personalData) - + r<-httr::PUT("http://localhost:8080/api/profile",add_headers(Authorization=paste("Bearer",input$token,sep=" ")),body=to_send,encode = 'json') @@ -113,11 +113,11 @@ profilServer <- function(input, output,session) { } - + }) - + personalDataVector <- reactiveVal() historyDataVector <- reactiveVal() @@ -125,12 +125,10 @@ profilServer <- function(input, output,session) { downloadPersonalData<-reactive({ - - r<-httr::GET("http://localhost:8080/api/profile",add_headers(Authorization=paste("Bearer",input$token,sep=" "))) - print("Reactive data") - r - - + r<-httr::GET("http://localhost:8080/api/profile",add_headers(Authorization=paste("Bearer",input$token,sep=" "))) + r + + }) downloadHistoryData<-reactive({ @@ -148,12 +146,10 @@ profilServer <- function(input, output,session) { session$sendCustomMessage(type='tokenHandlerAccess',(session$clientData)$url_hash) } - + }) - - observeEvent(input$profileTabs,{ @@ -184,53 +180,53 @@ profilServer <- function(input, output,session) { rr<-httr::GET("http://localhost:8080/api/prediction/usersPredictions/ind",add_headers(Authorization=paste("Bearer",input$token,sep=" ")),encode = 'json') historyDataVector(rr) - + } }) output$profileData<-renderUI({ r <- personalDataVector() - + if(length(r)!=0 & !is.null(r)){ - - if(r$status_code==200){ - response<-(content(r)) - - - session$sendCustomMessage(type='tokenHandlerUpdate', response$token) - - - fluidRow(column(12, - wellPanel( - textInput("editName", label = strong("Imie"),value=response$profil$personalDataDTO$name), - uiOutput("editName"), - textInput("editSurname", label = strong("Nazwisko"),value=response$profil$personalDataDTO$surname), - uiOutput("editSurname"), - textInput("editMail", label = strong("Adres email"),value=response$profil$personalDataDTO$email), - uiOutput("editMail"), - dateInput("editAge", label = strong("Data urodzenia") ,value=response$profil$personalDataDTO$datebirth), - - selectInput("editGender", label = strong("Plec"), - choices = list("Zenska" = 0, "meska" = 1), - selected = as.numeric(response$profil$personalDataDTO$gender)), - - - actionButton("editSubmit","Zapisz"), - uiOutput("btnEditProfile",style="color:red;") - + if(r$status_code==200){ + + response<-(content(r)) + + + session$sendCustomMessage(type='tokenHandlerUpdate', response$token) + + + fluidRow(column(12, + wellPanel( + textInput("editName", label = strong("Imię"),value=response$profil$personalDataDTO$name), + uiOutput("editName"), + textInput("editSurname", label = strong("Nazwisko"),value=response$profil$personalDataDTO$surname), + uiOutput("editSurname"), + textInput("editMail", label = strong("Adres email"),value=response$profil$personalDataDTO$email), + uiOutput("editMail"), + dateInput("editAge", label = strong("Data urodzenia") ,value=response$profil$personalDataDTO$datebirth), + + selectInput("editGender", label = strong("Płeć"), + choices = list("Żeńska" = 0, "męska" = 1), + selected = as.numeric(response$profil$personalDataDTO$gender)), + + + actionButton("editSubmit","Zapisz"), + uiOutput("btnEditProfile",style="color:red;") + ), - - )) - + + )) + + + } + } - - } - }) output$btnEditProfile<-renderUI({ @@ -238,7 +234,7 @@ profilServer <- function(input, output,session) { if (getEditStatus()==TRUE){ p("OK",style="color:green;text-align:center;") }else{ - p("Uzytkownik istnieje lub wprowadzono bledne dane",style="color:red;text-align:center;") + p("Użytkownik istnieje lub wprowadzono błędne dane",style="color:red;text-align:center;") } @@ -249,22 +245,21 @@ profilServer <- function(input, output,session) { if(get_page()=="profil"){ if(!is.null(input$auth) & length(input$auth)>0 ){ fluidRow( - + column(12, tabsetPanel(id="profileTabs",type = "tabs", tabPanel("Dane profilowe",value="data", tags$div(uiOutput("profileData") ) %>% tagAppendAttributes(id = 'content-personal')), - + tabPanel("Historia pomiarów",value='history', tags$div(DT::dataTableOutput("historyTable",height = "auto"))%>% tagAppendAttributes(id="profileTabs",class = 'content-wrapper')) ))%>% tagAppendAttributes(id = 'column-profile') - + ) %>% tagAppendAttributes(id = 'row-content') }else{ } - } - + }) @@ -288,20 +283,14 @@ profilServer <- function(input, output,session) { change_page(paste("?id=",input$view_button,"#!/iota",sep=""), session = session, mode = "push") }) - + output$historyTable <- DT::renderDataTable({ r <- historyDataVector() if(is.null(content(r)$predictions)){ DT::datatable(data.frame(Nazwa=character(),Wynik=numeric(),Data=character()),options = list(scrollX = TRUE,language=pl)) }else{ - df_historyTable<-as.data.frame(do.call(rbind, (content(r)$predictions))) - - - historyTableButtons = list() - - for(rowNumber in 1:nrow(df_historyTable)){ - + df_historyTable<-as.data.frame(do.call(rbind, (content(r)$predictions))) historyTableButtons[[rowNumber]] <-list(shinyInput(actionButton, 1, as.character(df_historyTable[rowNumber,]$id[1]), label = "Pokaż", onclick = 'Shiny.onInputChange(\"view_button\", this.id)' ), shinyInput(actionButton, 1, as.character(df_historyTable[rowNumber,]$id[1]), label = "Usuń", onclick = 'Shiny.onInputChange(\"del_button\", this.id)')) @@ -324,7 +313,7 @@ profilServer <- function(input, output,session) { DT::datatable(df_historyTable,selection="none",options = list(scrollX = TRUE,language=pl))} # } - }) + }) output$plot3 <- renderPlotly({ @@ -355,13 +344,13 @@ profilServer <- function(input, output,session) { pl <- list( emptyTable="Tabela jest pusta", sSearch = "Szukaj", - sInfo="Wyniki od _START_ do _END_ z _TOTAL_ rekordow", - sZeroRecords="Brak rekordow", + sInfo="Wyniki od _START_ do _END_ z _TOTAL_ rekordów", + sZeroRecords="Brak rekordów", sEmptyTable="Pusta tabela", oPaginate= list( - sFirst="Pierwsza", sPrevious="Poprzednia",sLast="Ostatnia", sNext="Nastepna" + sFirst="Pierwsza", sPrevious="Poprzednia",sLast="Ostatnia", sNext="Następna" ), - sLengthMenu = "Pokaz _MENU_ rekordow na stronie" + sLengthMenu = "Pokaż _MENU_ rekordów na stronie" ) output$table1 <- DT::renderDataTable(iris,options = list(scrollX = TRUE,language=pl)) @@ -372,7 +361,7 @@ profilServer <- function(input, output,session) { if (getStatus()==TRUE){ p("OK",style="color:white;text-align:center;") }else{ - p("Uzytkownik istnieje lub wprowadzono bledne dane",style="color:yellow;text-align:center;") + p("Użytkownik istnieje lub wprowadzono błędne dane",style="color:yellow;text-align:center;") } @@ -381,10 +370,10 @@ profilServer <- function(input, output,session) { output$editName<-renderUI({ s<-toString(input$editName) - if (s=="" | grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,15}$",s)==TRUE){ + if (s=="" | grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,15}$",s)==TRUE){ return() }else{ - p("Blad: Imie powinno zaczynac sie od wielkiej litery, zawierac jedynie litery i miec dlugosc od 3 do 15 znakow",style="color:yellow") + p("Bład: Imię powinno zaczynać się od wielkiej litery, zawierać jedynie litery i mieć długość od 3 do 15 znaków",style="color:yellow") } }) @@ -392,10 +381,10 @@ profilServer <- function(input, output,session) { output$editSurname<-renderUI({ s<-toString(input$editSurname) - if (s=="" | grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,20}$",s)==TRUE){ + if (s=="" | grepl("^[A-Z][a-zA-ZĄąĆćĘꣳŃńÓ󌜏źŻż]{2,20}$",s)==TRUE){ return() }else{ - p("Blad: Nazwisko powinno zaczynac sie od wielkiej litery, zawierac jedynie litery i miec dlugosc od 3 do 15 znaków",style="color:yellow") + p("Bład: Nazwisko powinno zaczynać sie od wielkiej litery, zawierać jedynie litery i mieć długość od 3 do 15 znakĂłw",style="color:yellow") } @@ -408,7 +397,7 @@ profilServer <- function(input, output,session) { if (s=="" | grepl("^[a-z]+[0-9]*@([a-z]{2,10}\\.)+[a-z]{2,5}$",s)==TRUE){ return() }else{ - p("Blad: Mail powinien miec budowe adres@nazwa.domena",style="color:yellow") + p("Bład: Mail powinien mieć budowę adres@nazwa.domena",style="color:yellow") } diff --git a/app/report1.Rmd b/app/report1.Rmd new file mode 100644 index 0000000..e5515b1 --- /dev/null +++ b/app/report1.Rmd @@ -0,0 +1,18 @@ +--- +title: "Dynamiczny raport dla klasyfikatora" +output: pdf_document +params: + n: NA + k: NA + l: NA + m: NA +--- + +Szansa na raka krtani: +`r params$n` +Szansa na raka płuc: +`r params$k` +Szansa na raka piersi: +`r params$l` +Szansa na bycie zdrowym: +`r params$m` diff --git a/app/report1.aux b/app/report1.aux new file mode 100644 index 0000000..50551d9 --- /dev/null +++ b/app/report1.aux @@ -0,0 +1,19 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\gdef \@abspage@last{1} diff --git a/app/report1.out b/app/report1.out new file mode 100644 index 0000000..e69de29 diff --git a/app/report1.pdf b/app/report1.pdf new file mode 100644 index 0000000..e765150 Binary files /dev/null and b/app/report1.pdf differ diff --git a/backend/.idea/workspace.xml b/backend/.idea/workspace.xml index 19108ce..c2b8975 100644 --- a/backend/.idea/workspace.xml +++ b/backend/.idea/workspace.xml @@ -4,7 +4,10 @@