#
# This is a Shiny web application. You can run the application by clicking
# the 'Run App' button above.
#
# Find out more about building applications with Shiny here:
#
#    https://shiny.posit.co/
#

library(shiny)
library(plotly)
source("Comp6.R")
# Define UI for application that draws a histogram
ui <- fluidPage(
  #Titulo de la aplicación
  titlePanel("Aplicación politicas de inventario"),
  #Definir el recuadro de la aplicación
  sidebarLayout(
    #Agregar un panel lateral dentro del recuadro
    sidebarPanel(
      #crear un objeto para que el usuario modifique la demanda
      sliderInput(inputId = "TasaDemanda",
                  label = "Tasa de demanda semanal (cajas/semana)",
                  min = 0,
                  max = 30,
                  value = 15)
        
      ),
    
    #Crear el panel principal para mostrar las graficas
    mainPanel(
      #imprimir grafica de costos
      plotlyOutput(outputId = "Graf_Cost_Tot")
    )
  )
)


# Define server logic required to draw a histogram
server <- function(input, output) {
  output$Graf_Cost_Tot = renderPlotly({
    InfoCostos = Shiny_function(input$TasaDemanda)
    
    #Scatter -> crea un grafico de dispersion, mode -> Representación de los puntos
    plot_ly(InfoCostos, x = ~num_sem, y= ~cost_Sem_Pactual, name = "P. Actual", type = "scatter",
            mode = "lines+markers")%>%
      add_trace(y = ~cost_Sem_Pnueva, name = "P.nueva", mode = "lines+markers")%>%
      #con la funcion layout se etiqueta el grafico
      layout(title = "Costo por politica an las proximas 10 semanas",
             xaxis = list(title = "semana"),
             yaxis = list(title = "costo"))
  })
}

# Run the application 
shinyApp(ui = ui, server = server)
LS0tDQp0aXRsZTogIlNoaW55Ig0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KIA0KDQpgYGB7cn0NCiMNCiMgVGhpcyBpcyBhIFNoaW55IHdlYiBhcHBsaWNhdGlvbi4gWW91IGNhbiBydW4gdGhlIGFwcGxpY2F0aW9uIGJ5IGNsaWNraW5nDQojIHRoZSAnUnVuIEFwcCcgYnV0dG9uIGFib3ZlLg0KIw0KIyBGaW5kIG91dCBtb3JlIGFib3V0IGJ1aWxkaW5nIGFwcGxpY2F0aW9ucyB3aXRoIFNoaW55IGhlcmU6DQojDQojICAgIGh0dHBzOi8vc2hpbnkucG9zaXQuY28vDQojDQoNCmxpYnJhcnkoc2hpbnkpDQpsaWJyYXJ5KHBsb3RseSkNCnNvdXJjZSgiQ29tcDYuUiIpDQojIERlZmluZSBVSSBmb3IgYXBwbGljYXRpb24gdGhhdCBkcmF3cyBhIGhpc3RvZ3JhbQ0KdWkgPC0gZmx1aWRQYWdlKA0KICAjVGl0dWxvIGRlIGxhIGFwbGljYWNpw7NuDQogIHRpdGxlUGFuZWwoIkFwbGljYWNpw7NuIHBvbGl0aWNhcyBkZSBpbnZlbnRhcmlvIiksDQogICNEZWZpbmlyIGVsIHJlY3VhZHJvIGRlIGxhIGFwbGljYWNpw7NuDQogIHNpZGViYXJMYXlvdXQoDQogICAgI0FncmVnYXIgdW4gcGFuZWwgbGF0ZXJhbCBkZW50cm8gZGVsIHJlY3VhZHJvDQogICAgc2lkZWJhclBhbmVsKA0KICAgICAgI2NyZWFyIHVuIG9iamV0byBwYXJhIHF1ZSBlbCB1c3VhcmlvIG1vZGlmaXF1ZSBsYSBkZW1hbmRhDQogICAgICBzbGlkZXJJbnB1dChpbnB1dElkID0gIlRhc2FEZW1hbmRhIiwNCiAgICAgICAgICAgICAgICAgIGxhYmVsID0gIlRhc2EgZGUgZGVtYW5kYSBzZW1hbmFsIChjYWphcy9zZW1hbmEpIiwNCiAgICAgICAgICAgICAgICAgIG1pbiA9IDAsDQogICAgICAgICAgICAgICAgICBtYXggPSAzMCwNCiAgICAgICAgICAgICAgICAgIHZhbHVlID0gMTUpDQogICAgICAgIA0KICAgICAgKSwNCiAgICANCiAgICAjQ3JlYXIgZWwgcGFuZWwgcHJpbmNpcGFsIHBhcmEgbW9zdHJhciBsYXMgZ3JhZmljYXMNCiAgICBtYWluUGFuZWwoDQogICAgICAjaW1wcmltaXIgZ3JhZmljYSBkZSBjb3N0b3MNCiAgICAgIHBsb3RseU91dHB1dChvdXRwdXRJZCA9ICJHcmFmX0Nvc3RfVG90IikNCiAgICApDQogICkNCikNCg0KDQojIERlZmluZSBzZXJ2ZXIgbG9naWMgcmVxdWlyZWQgdG8gZHJhdyBhIGhpc3RvZ3JhbQ0Kc2VydmVyIDwtIGZ1bmN0aW9uKGlucHV0LCBvdXRwdXQpIHsNCiAgb3V0cHV0JEdyYWZfQ29zdF9Ub3QgPSByZW5kZXJQbG90bHkoew0KICAgIEluZm9Db3N0b3MgPSBTaGlueV9mdW5jdGlvbihpbnB1dCRUYXNhRGVtYW5kYSkNCiAgICANCiAgICAjU2NhdHRlciAtPiBjcmVhIHVuIGdyYWZpY28gZGUgZGlzcGVyc2lvbiwgbW9kZSAtPiBSZXByZXNlbnRhY2nDs24gZGUgbG9zIHB1bnRvcw0KICAgIHBsb3RfbHkoSW5mb0Nvc3RvcywgeCA9IH5udW1fc2VtLCB5PSB+Y29zdF9TZW1fUGFjdHVhbCwgbmFtZSA9ICJQLiBBY3R1YWwiLCB0eXBlID0gInNjYXR0ZXIiLA0KICAgICAgICAgICAgbW9kZSA9ICJsaW5lcyttYXJrZXJzIiklPiUNCiAgICAgIGFkZF90cmFjZSh5ID0gfmNvc3RfU2VtX1BudWV2YSwgbmFtZSA9ICJQLm51ZXZhIiwgbW9kZSA9ICJsaW5lcyttYXJrZXJzIiklPiUNCiAgICAgICNjb24gbGEgZnVuY2lvbiBsYXlvdXQgc2UgZXRpcXVldGEgZWwgZ3JhZmljbw0KICAgICAgbGF5b3V0KHRpdGxlID0gIkNvc3RvIHBvciBwb2xpdGljYSBhbiBsYXMgcHJveGltYXMgMTAgc2VtYW5hcyIsDQogICAgICAgICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gInNlbWFuYSIpLA0KICAgICAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJjb3N0byIpKQ0KICB9KQ0KfQ0KDQojIFJ1biB0aGUgYXBwbGljYXRpb24gDQpzaGlueUFwcCh1aSA9IHVpLCBzZXJ2ZXIgPSBzZXJ2ZXIpDQoNCmBgYA0KDQoNCg==