{"id":14068033,"url":"https://github.com/gyang274/ygdashboard_app","last_synced_at":"2026-02-23T05:14:44.826Z","repository":{"id":217551287,"uuid":"62563048","full_name":"gyang274/ygdashboard_app","owner":"gyang274","description":"an R shiny app template of ygdashboard.","archived":false,"fork":false,"pushed_at":"2016-08-15T21:15:08.000Z","size":2821,"stargazers_count":13,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-04T08:37:00.561Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gyang274.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-07-04T13:09:03.000Z","updated_at":"2022-02-14T23:46:26.000Z","dependencies_parsed_at":"2024-01-17T04:38:32.883Z","dependency_job_id":null,"html_url":"https://github.com/gyang274/ygdashboard_app","commit_stats":null,"previous_names":["gyang274/ygdashboard_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gyang274/ygdashboard_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyang274%2Fygdashboard_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyang274%2Fygdashboard_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyang274%2Fygdashboard_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyang274%2Fygdashboard_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gyang274","download_url":"https://codeload.github.com/gyang274/ygdashboard_app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gyang274%2Fygdashboard_app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267798625,"owners_count":24145727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-13T07:05:54.403Z","updated_at":"2026-02-23T05:14:44.784Z","avatar_url":"https://github.com/gyang274.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\noutput:\n  md_document:\n    variant: markdown_github\n---\n\n\u003c!-- README.md is generated from README.Rmd. --\u003e\n\n```{r, echo = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"README-\"\n)\n```\n\n# ygdashboard\n\nA modified shinydashboard to incorporate more functionality from adminLTE.\n\n## Origination\n\nI would like first express my sincere thanks to Winston Chang, the RStutio team, Almasaeed Studio and everyone involved in developing shiny and shinydashboard.\n\nAt first, I simply want have a sidebar that would still show menuItem icons when collapsed, so that me and other users can still switch between tabs without re-expanding the sidebar. I find this could only be completed (with my limited knowledge) by modifying shinydashboard source code. This is the begin I downloaded shinydashboard source code and started ygdashboard as a modified version.\n\nThen, I fascinate on having a user info panel on the top right header, having a footer on the bottom of the body, having a menu segment on the side menu bar, having a right control panel with toggle on top right header. I implement the first three features, and leave the last one as a pure HTML holder - you still have it but via making a HTML input. This is the part I enjoyed the most seeing the capability of shinydashboard extending gradually.\n\nAt last, I would like to have versatile boxes, so I implements a calendar box, a chat box, and a timeline box. The calendar won't show up on shiny app page - I would happy if anyone knows the reason. The chat box is fun, as you would see in the show cases. The timeline box provides an excellent interface for logging, which I found as the most useful one. This is where the fun continues and I am start seeing ygdashboard showing some valuable extension on shinydashboard.\n\nAlong the way, I find that `leafletfix.css:8` in leaflet overrides shinydashboard css and makes the `sidebarUserPanel()` having  grey box prominent from the black background - unconformable aesthetically - fix it by adding `style=\"background-color:transparent;\"` in `div(class = \"user-panel\", ..., div(class = \"pull-left info\", ...))` in `sidebarUserPanel()`. I also find that font awesome icon like `envira` is not recognized in shiny - all 30 new icons in 4.6 won't? Please see full development log at [ygdashboard on github](https://github.com/gyang274/ygdashboard/).\n\nWelcome to view this [ygdashboard app on shinyapps.io](https://gyang.shinyapps.io/ygdashboard/)!\n\n## Main Feature\n\n+ Overview\n\n```{r overview, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/overview.png\")\n```\n\n+ New feature: show menu icons when sidebar collapse.\n\n```{r collapse_siderbar, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/collapse_sidebar.png\")\n```\n\n+ New component: \n\n    - Add user info panel on top right header.\n    \n    - Add footer on the bottom of the body.\n    \n    - Add menu segments on the side menu bar. \n    \n    - Add a right control panel with toggle on top right header.\n\n        ```{r user_info_panel, echo=FALSE, cache=TRUE}\n        knitr::include_graphics(\"fig/user_info_panel.png\")\n        ```\n        \n        ```{r control_panel, echo=FALSE, cache=TRUE}\n        knitr::include_graphics(\"fig/control_panel.png\")\n        ```\n\n    - The user info panel can be created dynamically with userOutput() on client side and renderUser({ dashboardUser() }) on the server side. This allow login like feature, such as switching user info and possible UI design for different users at run time.\n  \n        ```{r switch_user_01, echo=FALSE, cache=TRUE}\n        knitr::include_graphics(\"fig/switch_user_01.png\")\n        ```\n        \n        ```{r switch_user_02, echo=FALSE, cache=TRUE}\n        knitr::include_graphics(\"fig/switch_user_02.png\")\n        ```\n        \n        ```{r switch_user_03, echo=FALSE, cache=TRUE}\n        knitr::include_graphics(\"fig/switch_user_03.png\")\n        ```\n        \n        ```{r switch_user_04, echo=FALSE, cache=TRUE}\n        knitr::include_graphics(\"fig/switch_user_04.png\")\n        ```\n\n+ Dashboard Tab:\n\n    - Add a new infoBox() with progress bar.\n    \n```{r dashboard, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/dashboard.png\")\n```    \n\n+ Chat Tab:\n\n    - Add a chatBox() together with chatContactList(), chatContact(), chatMessage() for creating direct chat.\n    \n```{r chat01, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/chat_box_01.png\")\n```\n\n```{r chat02, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/chat_box_02.png\")\n```\n\n```{r chat03, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/chat_box_03.png\")\n```\n\n+ Calendar Tab:\n\n    - TODO: why calendar won't show up?\n\n```{r calendar, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/calendar_box.png\")\n```\n\n+ Database Tab:\n\n    - A worth mention feature is that we can use javascripts, such as enter_as_click.js along with this app, to bind the sidebar search form or general shiny input box with a button, so that we can catch the event when the search form or input box is focused and user hit enter key on keyboard, without requiring a must click on the button. \n\n```{r database, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/database.png\")\n```\n\n+ Table Tab:\n\n```{r table, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/table.png\")\n```\n\n+ Figure Tab:\n\n```{r figure, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/figure.png\")\n```\n\n+ Map Tab:\n\n```{r map, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/map.png\")\n```\n\n+ Timeline Tab:\n\n```{r timeline, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/timeline.png\")\n```\n\n+ Documentation Tab:\n\n```{r documenation, echo=FALSE, cache=TRUE}\nknitr::include_graphics(\"fig/documentation.png\")\n```\n\n## NEWS\n\n+ 2016.08.10: Add `socialWidgetBox()` on __Chat Tab__, source from `boxes.R` in `ygdashboard`.\n\n+ 2016.08.08: Add `carouselBox()`, `carouselSets()`, `carouselItem()` on __Carousel Tab__, source from `boxes.R` in `ygdashboard`.\n\n## TODO\n\n+ dashboardControlbar.R: create functions that can create sub-components in control-sidebar, like functions defined in dashboardSidebar.R.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgyang274%2Fygdashboard_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgyang274%2Fygdashboard_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgyang274%2Fygdashboard_app/lists"}