Commit 29ac9794 authored by fsoubes's avatar fsoubes
Browse files

add matrix

parent 037145f3
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="8.9.9" editor="www.draw.io" type="device"><diagram id="e08393d6-3fe7-9bf5-0629-9057ba11030c" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="8.9.4" editor="www.draw.io" type="device"><diagram name="Page-1" id="13e1069c-82ec-6db2-03f1-153e76fe0fe0">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</diagram></mxfile>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="8.9.9" editor="www.draw.io" type="device"><diagram id="e08393d6-3fe7-9bf5-0629-9057ba11030c" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="8.9.4" editor="www.draw.io" type="device"><diagram name="Page-1" id="13e1069c-82ec-6db2-03f1-153e76fe0fe0">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</diagram></mxfile>
\ No newline at end of file
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="8.9.8" editor="www.draw.io" type="device"><diagram id="3aa9beb3-8688-c39f-29d2-993057d610da" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
library(shiny) # http://rstudio.github.com/shiny/tutorial/#hello-shiny
library(Rgraphviz) # http://www.bioconductor.org/packages/2.11/bioc/html/Rgraphviz.html
server <- function(input, output) {
output$graphPlot <- reactivePlot(function() {
g <- randomGraph(1:input$V, 1:input$M, input$p)
plot(g)
})
}
ui = pageWithSidebar(
headerPanel("Shiny Random Graph"),
sidebarPanel(
sliderInput("V",
"Number of nodes:",
min = 1,
max = 100,
value = 10),
sliderInput("M",
"M:",
min = 1,
max = 10,
value = 4),
sliderInput("p",
"p:",
min = 0,
max = 1,
value = 0.5),
helpText("Code available at https://gist.github.com/4045750")
),
mainPanel(
plotOutput("graphPlot")
)
)
shinyApp(ui = ui, server=server)
This diff is collapsed.
<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="8.9.9" editor="www.draw.io" type="device"><diagram id="e08393d6-3fe7-9bf5-0629-9057ba11030c" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
library(shiny)
library(magrittr)
library(dplyr)
library(shinyjs)
appCSS <- "
#loading-content {
position: absolute;
background: #182b42;
opacity: 0.9;
z-index: 100;
left: 0;
right: 0;
top: 30px;
height: 100%;
text-align: center;
color: #FFFFFF;
}
#loading-content-bar {
position: absolute;
background: #182b42;
opacity: 0.9;
z-index: 100;
left: 0;
right: 0;
height: 100%;
text-align: center;
color: #FFFFFF;
}
"
ui <- fluidPage(
inlineCSS(appCSS),
div(id = "loading-content-bar",
p()),
div(
id = "loading-content",
br(),
br(),
br(),
h2("Please wait MATRiX app is loading...")),
fluidRow(
#uncomment in practice
#tags$style("#link {visibility: hidden;}"),
tags$script(type="text/javascript", src = "redirect.js"),
column(3, offset = 4,
wellPanel(
h3("app info"),
tableOutput("app_info")
)
)
),
fluidRow(
column(3, offset = 4,
wellPanel(
h3("Redirecting ..."),
textInput(inputId = "link", label = "", value = "")
)
)
)
)
server <- function(input, output, session) {
hide(
id = "loading-content",
anim = F,
animType = "fade",
time = 1.5
)
hide(
id = "loading-content-bar",
anim = F,
animType = "fade",
time = 1.5
)
users <- read.table("/home/franck1337/server/monitor.log", header = TRUE, stringsAsFactors = FALSE)
app <- data.frame(app = paste0("server/", 1:4), stringsAsFactors = FALSE)
app <- app %>% left_join(users, by = "app") %>% mutate(app = sub("server/", "", app),
users = ifelse(is.na(users), "0", as.character(users)))
link <- paste0("http://147.99.104.189/", app$app[which.min(app$users)])
# info tables
output$app_info <- renderTable(app)
updateTextInput(session, inputId = "link", value = link)
}
shinyApp(ui = ui, server = server)
\ No newline at end of file
setInterval(function() {
var link = document.getElementById('link').value;
if (link.length > 1) {
window.open(link, "_top")
}
}, 1000)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment