=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== r-cran-shinydashboard-0.7.1/inst/shinydashboard.min.js.map:1:{"version":3,"sources":["../srcjs/_start.js","../srcjs/tabs.js","../srcjs/sidebar.js","../srcjs/output_binding_menu.js","../srcjs/input_binding_tabItem.js","../srcjs/input_binding_sidebarCollapsed.js","../srcjs/input_binding_sidebarmenuExpanded.js"],"names":["$","deactivateOtherTabs","$tablinks","not","this","parent","removeClass","$obj","inputBinding","data","setValue","attr","trigger","document","on","ensureActivatedTab","$startTab","filter","length","first","tab","addClass","hide","sidebarCollapsedValue","offset","left","sidebarChange","window","$menu","next","hasClass","setTimeout","menuOutputBinding","Shiny","OutputBinding","extend","find","scope","onValueError","el","err","unbindAll","renderError","renderValue","html","dependencies","deps","$html","parseHTML","renderHtml","className","initializeInputs","bindAll","outputBindings","register","tabItemInputBinding","InputBinding","getValue","value","self","anchors","children","each","_getTabName","receiveMessage","hasOwnProperty","subscribe","callback","unsubscribe","off","anchor","inputBindings","sidebarCollapsedInputBinding","toggleValue","current","newVal","sidebarmenuExpandedInputBinding","$open","$menuItem","prev"],"mappings":"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","file":"shinydashboard.min.js","sourcesContent":["//---------------------------------------------------------------------\n// Source file: ../srcjs/_start.js\n\n$(function() {\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/tabs.js\n\n// This function handles a special case in the AdminLTE sidebar: when there\n// is a sidebar-menu with items, and one of those items has sub-items, and\n// they are used for tab navigation. Normally, if one of the items is\n// selected and then a sub-item is clicked, both the item and sub-item will\n// retain the \"active\" class, so they will both be highlighted. This happens\n// because they're not designed to be used together for tab panels. This\n// code ensures that only one item will have the \"active\" class.\nvar deactivateOtherTabs = function() {\n // Find all tab links under sidebar-menu even if they don't have a\n // tabName (which is why the second selector is necessary)\n var $tablinks = $(\".sidebar-menu a[data-toggle='tab'],\" +\n \".sidebar-menu li.treeview > a\");\n\n // If any other items are active, deactivate them\n $tablinks.not($(this)).parent(\"li\").removeClass(\"active\");\n\n // Trigger event for the tabItemInputBinding\n var $obj = $('.sidebarMenuSelectedTabItem');\n var inputBinding = $obj.data('shiny-input-binding');\n if (typeof inputBinding !== 'undefined') {\n inputBinding.setValue($obj, $(this).attr('data-value'));\n $obj.trigger('change');\n }\n};\n\n$(document).on('shown.bs.tab', '.sidebar-menu a[data-toggle=\"tab\"]',\n deactivateOtherTabs);\n\n// When document is ready, if there is a sidebar menu with no activated tabs,\n// activate the one specified by `data-start-selected`, or if that's not\n// present, the first one.\nvar ensureActivatedTab = function() {\n var $tablinks = $(\".sidebar-menu a[data-toggle='tab']\");\n\n // If there's a `data-start-selected` attribute and we can find a tab with\n // that name, activate it.\n var $startTab = $tablinks.filter(\"[data-start-selected='1']\");\n if ($startTab.length === 0) {\n // If no tab starts selected, use the first one, if present\n $startTab = $tablinks.first();\n }\n\n // If there are no tabs, $startTab.length will be 0.\n if ($startTab.length !== 0) {\n $startTab.tab(\"show\");\n\n // This is indirectly setting the value of the Shiny input by setting\n // an attribute on the html element it is bound to. We cannot use the\n // inputBinding's setValue() method here because this is called too\n // early (before Shiny has fully initialized)\n $(\".sidebarMenuSelectedTabItem\").attr(\"data-value\",\n $startTab.attr(\"data-value\"));\n }\n};\n\nensureActivatedTab();\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/sidebar.js\n\n// Optionally disable sidebar (set through the `disable` argument\n// to the `dashboardSidebar` function)\nif ($(\"section.sidebar\").data(\"disable\")) {\n $(\"body\").addClass(\"sidebar-collapse\");\n $(\".navbar > .sidebar-toggle\").hide();\n}\n\n// Get the correct value for `input$sidebarCollapsed`, depending on\n// whether or not the left offset on the sidebar is negative (hidden\n// - so `input$sidebarCollapsed` should be TRUE) or 0 (shown - so\n// `input$sidebarCollapsed` should be FALSE). That we know of,\n// `$(\".main-sidebar\").is(\":visible\")` is always true, so there is\n// no need to check for that.\nvar sidebarCollapsedValue = function() {\n if ($(\".main-sidebar\").offset().left < 0) return(true);\n else return(false);\n};\n\n// Whenever the sidebar changes from collapsed to expanded and vice versa,\n// call this function, so that we can trigger the resize event on the rest\n// of the window and also update the value for the sidebar's input binding.\nvar sidebarChange = function() {\n // 1) Trigger the resize event (so images are responsive and resize)\n $(window).trigger(\"resize\");\n\n // 2) Update the value for the sidebar's input binding\n var $obj = $('.main-sidebar.shiny-bound-input');\n var inputBinding = $obj.data('shiny-input-binding');\n inputBinding.setValue($obj, sidebarCollapsedValue());\n $obj.trigger('change');\n};\n\n// Whenever the sidebar finishes a transition (which it does every time it\n// changes from collapsed to expanded and vice versa), call sidebarChange()\n$(\".main-sidebar\").on(\n 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',\n sidebarChange);\n\n// This fixes an edge case: when the app starts up with the sidebar already\n// collapsed (either because the screen is small or because\n// `dashboardSidebar(disable = TRUE`), make sure that `input$sidebarCollapsed`\n// is set to `FALSE`. Whenever this is the case, `$(\".main-sidebar\").offset().left`\n// is negative. That we know of, `$(\".main-sidebar\").is(\":visible\")` is always\n// true, so there is no need to check for that.\nif ($(\".main-sidebar\").offset().left < 0) {\n // This is indirectly setting the value of the Shiny input by setting\n // an attribute on the html element it is bound to. We cannot use the\n // inputBinding's setValue() method here because this is called too\n // early (before Shiny has fully initialized)\n $(\".main-sidebar\").attr(\"data-collapsed\", \"true\");\n}\n\n// Whenever we expand a menuItem (to be expandable, it must have children),\n// update the value for the expandedItem's input binding (this is the\n// tabName of the fist subMenuItem inside the menuItem that is currently\n// expanded)\n$(document).on(\"click\", \".treeview > a\", function() {\n var $menu = $(this).next();\n // If this menuItem was already open, then clicking on it again,\n // should trigger the \"hidden\" event, so Shiny doesn't worry about\n // it while it's hidden (and vice versa).\n if ($menu.hasClass(\"menu-open\")) $menu.trigger(\"hidden\");\n else if ($menu.hasClass(\"treeview-menu\")) $menu.trigger(\"shown\");\n\n // need to set timeout to account for the slideUp/slideDown animation\n var $obj = $('section.sidebar.shiny-bound-input');\n setTimeout(function() { $obj.trigger('change'); }, 600);\n});\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding_menu.js\n\n/* global Shiny */\n\n// menuOutputBinding\n// ------------------------------------------------------------------\n// Based on Shiny.htmlOutputBinding, but instead of putting the result in a\n// wrapper div, it replaces the origin DOM element with the new DOM elements,\n// copying over the ID and class.\nvar menuOutputBinding = new Shiny.OutputBinding();\n$.extend(menuOutputBinding, {\n find: function(scope) {\n return $(scope).find('.shinydashboard-menu-output');\n },\n onValueError: function(el, err) {\n Shiny.unbindAll(el);\n this.renderError(el, err);\n },\n renderValue: function(el, data) {\n Shiny.unbindAll(el);\n\n var html;\n var dependencies = [];\n if (data === null) {\n return;\n } else if (typeof(data) === 'string') {\n html = data;\n } else if (typeof(data) === 'object') {\n html = data.html;\n dependencies = data.deps;\n }\n\n var $html = $($.parseHTML(html));\n\n // Convert the inner contents to HTML, and pass to renderHtml\n Shiny.renderHtml($html.html(), el, dependencies);\n\n // Extract class of wrapper, and add them to the wrapper element\n el.className = 'shinydashboard-menu-output shiny-bound-output ' +\n $html.attr('class');\n\n Shiny.initializeInputs(el);\n Shiny.bindAll(el);\n if ($(el).hasClass(\"sidebar-menu\")) ensureActivatedTab(); // eslint-disable-line\n }\n});\nShiny.outputBindings.register(menuOutputBinding,\n \"shinydashboard.menuOutputBinding\");\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_tabItem.js\n\n/* global Shiny */\n\n// tabItemInputBinding\n// ------------------------------------------------------------------\n// Based on Shiny.tabItemInputBinding, but customized for tabItems in\n// shinydashboard, which have a slightly different structure.\nvar tabItemInputBinding = new Shiny.InputBinding();\n$.extend(tabItemInputBinding, {\n find: function(scope) {\n return $(scope).find('.sidebarMenuSelectedTabItem');\n },\n getValue: function(el) {\n var value = $(el).attr('data-value');\n if (value === \"null\") return null;\n return value;\n },\n setValue: function(el, value) {\n var self = this;\n var anchors = $(el).parent('ul.sidebar-menu').find('li:not(.treeview)').children('a');\n anchors.each(function() { // eslint-disable-line consistent-return\n if (self._getTabName($(this)) === value) {\n $(this).tab('show');\n $(el).attr('data-value', self._getTabName($(this)));\n return false;\n }\n });\n },\n receiveMessage: function(el, data) {\n if (data.hasOwnProperty('value'))\n this.setValue(el, data.value);\n },\n subscribe: function(el, callback) {\n // This event is triggered by deactivateOtherTabs, which is triggered by\n // shown. The deactivation of other tabs must occur before Shiny gets the\n // input value.\n $(el).on('change.tabItemInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.tabItemInputBinding');\n },\n _getTabName: function(anchor) {\n return anchor.attr('data-value');\n }\n});\n\nShiny.inputBindings.register(tabItemInputBinding, 'shinydashboard.tabItemInput');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_sidebarCollapsed.js\n\n/* global Shiny */\n\n// sidebarCollapsedInputBinding\n// ------------------------------------------------------------------\n// This keeps tracks of whether the sidebar is expanded (default)\n// or collapsed\nvar sidebarCollapsedInputBinding = new Shiny.InputBinding();\n$.extend(sidebarCollapsedInputBinding, {\n find: function(scope) {\n // This will also have id=\"sidebarCollapsed\"\n return $(scope).find('.main-sidebar').first();\n },\n getValue: function(el) {\n return $(el).attr(\"data-collapsed\") === \"true\";\n },\n setValue: function(el, value) {\n $(el).attr(\"data-collapsed\", value);\n },\n toggleValue: function(el) {\n var current = this.getValue(el);\n var newVal = current ? \"false\" : \"true\";\n this.setValue(el, newVal);\n },\n receiveMessage: function(el, data) {\n if (data.hasOwnProperty('value'))\n this.setValue(el, data.value);\n },\n subscribe: function(el, callback) {\n $(el).on('change.sidebarCollapsedInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.sidebarCollapsedInputBinding');\n }\n});\nShiny.inputBindings.register(sidebarCollapsedInputBinding,\n 'shinydashboard.sidebarCollapsedInputBinding');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_sidebarmenuExpanded.js\n\n/* global Shiny */\n\n// sidebarmenuExpandedInputBinding\n// ------------------------------------------------------------------\n// This keeps tracks of what menuItem (if any) is expanded\nvar sidebarmenuExpandedInputBinding = new Shiny.InputBinding();\n$.extend(sidebarmenuExpandedInputBinding, {\n find: function(scope) {\n // This will also have id=\"sidebarItemExpanded\"\n return $(scope).find('section.sidebar');\n },\n getValue: function(el) {\n var $open = $(el).find('li ul.menu-open');\n if ($open.length === 1) return $open.attr('data-expanded');\n else return null;\n },\n setValue: function(el, value) {\n var $menuItem = $(el).find(\"[data-expanded='\" + value + \"']\");\n // This will trigger actions defined by AdminLTE, as well as actions\n // defined in sidebar.js.\n $menuItem.prev().trigger(\"click\");\n },\n subscribe: function(el, callback) {\n $(el).on('change.sidebarmenuExpandedInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.sidebarmenuExpandedInputBinding');\n }\n});\nShiny.inputBindings.register(sidebarmenuExpandedInputBinding,\n 'shinydashboard.sidebarmenuExpandedInputBinding');\n"]} ############################################## r-cran-shinydashboard-0.7.1/inst/shinydashboard.js.map:1:{"version":3,"sources":["../srcjs/_start.js","../srcjs/tabs.js","../srcjs/sidebar.js","../srcjs/output_binding_menu.js","../srcjs/input_binding_tabItem.js","../srcjs/input_binding_sidebarCollapsed.js","../srcjs/input_binding_sidebarmenuExpanded.js","../srcjs/_end.js"],"names":[],"mappings":"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","file":"shinydashboard.js","sourcesContent":["//---------------------------------------------------------------------\n// Source file: ../srcjs/_start.js\n\n$(function() {\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/tabs.js\n\n// This function handles a special case in the AdminLTE sidebar: when there\n// is a sidebar-menu with items, and one of those items has sub-items, and\n// they are used for tab navigation. Normally, if one of the items is\n// selected and then a sub-item is clicked, both the item and sub-item will\n// retain the \"active\" class, so they will both be highlighted. This happens\n// because they're not designed to be used together for tab panels. This\n// code ensures that only one item will have the \"active\" class.\nvar deactivateOtherTabs = function() {\n // Find all tab links under sidebar-menu even if they don't have a\n // tabName (which is why the second selector is necessary)\n var $tablinks = $(\".sidebar-menu a[data-toggle='tab'],\" +\n \".sidebar-menu li.treeview > a\");\n\n // If any other items are active, deactivate them\n $tablinks.not($(this)).parent(\"li\").removeClass(\"active\");\n\n // Trigger event for the tabItemInputBinding\n var $obj = $('.sidebarMenuSelectedTabItem');\n var inputBinding = $obj.data('shiny-input-binding');\n if (typeof inputBinding !== 'undefined') {\n inputBinding.setValue($obj, $(this).attr('data-value'));\n $obj.trigger('change');\n }\n};\n\n$(document).on('shown.bs.tab', '.sidebar-menu a[data-toggle=\"tab\"]',\n deactivateOtherTabs);\n\n// When document is ready, if there is a sidebar menu with no activated tabs,\n// activate the one specified by `data-start-selected`, or if that's not\n// present, the first one.\nvar ensureActivatedTab = function() {\n var $tablinks = $(\".sidebar-menu a[data-toggle='tab']\");\n\n // If there's a `data-start-selected` attribute and we can find a tab with\n // that name, activate it.\n var $startTab = $tablinks.filter(\"[data-start-selected='1']\");\n if ($startTab.length === 0) {\n // If no tab starts selected, use the first one, if present\n $startTab = $tablinks.first();\n }\n\n // If there are no tabs, $startTab.length will be 0.\n if ($startTab.length !== 0) {\n $startTab.tab(\"show\");\n\n // This is indirectly setting the value of the Shiny input by setting\n // an attribute on the html element it is bound to. We cannot use the\n // inputBinding's setValue() method here because this is called too\n // early (before Shiny has fully initialized)\n $(\".sidebarMenuSelectedTabItem\").attr(\"data-value\",\n $startTab.attr(\"data-value\"));\n }\n};\n\nensureActivatedTab();\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/sidebar.js\n\n// Optionally disable sidebar (set through the `disable` argument\n// to the `dashboardSidebar` function)\nif ($(\"section.sidebar\").data(\"disable\")) {\n $(\"body\").addClass(\"sidebar-collapse\");\n $(\".navbar > .sidebar-toggle\").hide();\n}\n\n// Get the correct value for `input$sidebarCollapsed`, depending on\n// whether or not the left offset on the sidebar is negative (hidden\n// - so `input$sidebarCollapsed` should be TRUE) or 0 (shown - so\n// `input$sidebarCollapsed` should be FALSE). That we know of,\n// `$(\".main-sidebar\").is(\":visible\")` is always true, so there is\n// no need to check for that.\nvar sidebarCollapsedValue = function() {\n if ($(\".main-sidebar\").offset().left < 0) return(true);\n else return(false);\n};\n\n// Whenever the sidebar changes from collapsed to expanded and vice versa,\n// call this function, so that we can trigger the resize event on the rest\n// of the window and also update the value for the sidebar's input binding.\nvar sidebarChange = function() {\n // 1) Trigger the resize event (so images are responsive and resize)\n $(window).trigger(\"resize\");\n\n // 2) Update the value for the sidebar's input binding\n var $obj = $('.main-sidebar.shiny-bound-input');\n var inputBinding = $obj.data('shiny-input-binding');\n inputBinding.setValue($obj, sidebarCollapsedValue());\n $obj.trigger('change');\n};\n\n// Whenever the sidebar finishes a transition (which it does every time it\n// changes from collapsed to expanded and vice versa), call sidebarChange()\n$(\".main-sidebar\").on(\n 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',\n sidebarChange);\n\n// This fixes an edge case: when the app starts up with the sidebar already\n// collapsed (either because the screen is small or because\n// `dashboardSidebar(disable = TRUE`), make sure that `input$sidebarCollapsed`\n// is set to `FALSE`. Whenever this is the case, `$(\".main-sidebar\").offset().left`\n// is negative. That we know of, `$(\".main-sidebar\").is(\":visible\")` is always\n// true, so there is no need to check for that.\nif ($(\".main-sidebar\").offset().left < 0) {\n // This is indirectly setting the value of the Shiny input by setting\n // an attribute on the html element it is bound to. We cannot use the\n // inputBinding's setValue() method here because this is called too\n // early (before Shiny has fully initialized)\n $(\".main-sidebar\").attr(\"data-collapsed\", \"true\");\n}\n\n// Whenever we expand a menuItem (to be expandable, it must have children),\n// update the value for the expandedItem's input binding (this is the\n// tabName of the fist subMenuItem inside the menuItem that is currently\n// expanded)\n$(document).on(\"click\", \".treeview > a\", function() {\n var $menu = $(this).next();\n // If this menuItem was already open, then clicking on it again,\n // should trigger the \"hidden\" event, so Shiny doesn't worry about\n // it while it's hidden (and vice versa).\n if ($menu.hasClass(\"menu-open\")) $menu.trigger(\"hidden\");\n else if ($menu.hasClass(\"treeview-menu\")) $menu.trigger(\"shown\");\n\n // need to set timeout to account for the slideUp/slideDown animation\n var $obj = $('section.sidebar.shiny-bound-input');\n setTimeout(function() { $obj.trigger('change'); }, 600);\n});\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/output_binding_menu.js\n\n/* global Shiny */\n\n// menuOutputBinding\n// ------------------------------------------------------------------\n// Based on Shiny.htmlOutputBinding, but instead of putting the result in a\n// wrapper div, it replaces the origin DOM element with the new DOM elements,\n// copying over the ID and class.\nvar menuOutputBinding = new Shiny.OutputBinding();\n$.extend(menuOutputBinding, {\n find: function(scope) {\n return $(scope).find('.shinydashboard-menu-output');\n },\n onValueError: function(el, err) {\n Shiny.unbindAll(el);\n this.renderError(el, err);\n },\n renderValue: function(el, data) {\n Shiny.unbindAll(el);\n\n var html;\n var dependencies = [];\n if (data === null) {\n return;\n } else if (typeof(data) === 'string') {\n html = data;\n } else if (typeof(data) === 'object') {\n html = data.html;\n dependencies = data.deps;\n }\n\n var $html = $($.parseHTML(html));\n\n // Convert the inner contents to HTML, and pass to renderHtml\n Shiny.renderHtml($html.html(), el, dependencies);\n\n // Extract class of wrapper, and add them to the wrapper element\n el.className = 'shinydashboard-menu-output shiny-bound-output ' +\n $html.attr('class');\n\n Shiny.initializeInputs(el);\n Shiny.bindAll(el);\n if ($(el).hasClass(\"sidebar-menu\")) ensureActivatedTab(); // eslint-disable-line\n }\n});\nShiny.outputBindings.register(menuOutputBinding,\n \"shinydashboard.menuOutputBinding\");\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_tabItem.js\n\n/* global Shiny */\n\n// tabItemInputBinding\n// ------------------------------------------------------------------\n// Based on Shiny.tabItemInputBinding, but customized for tabItems in\n// shinydashboard, which have a slightly different structure.\nvar tabItemInputBinding = new Shiny.InputBinding();\n$.extend(tabItemInputBinding, {\n find: function(scope) {\n return $(scope).find('.sidebarMenuSelectedTabItem');\n },\n getValue: function(el) {\n var value = $(el).attr('data-value');\n if (value === \"null\") return null;\n return value;\n },\n setValue: function(el, value) {\n var self = this;\n var anchors = $(el).parent('ul.sidebar-menu').find('li:not(.treeview)').children('a');\n anchors.each(function() { // eslint-disable-line consistent-return\n if (self._getTabName($(this)) === value) {\n $(this).tab('show');\n $(el).attr('data-value', self._getTabName($(this)));\n return false;\n }\n });\n },\n receiveMessage: function(el, data) {\n if (data.hasOwnProperty('value'))\n this.setValue(el, data.value);\n },\n subscribe: function(el, callback) {\n // This event is triggered by deactivateOtherTabs, which is triggered by\n // shown. The deactivation of other tabs must occur before Shiny gets the\n // input value.\n $(el).on('change.tabItemInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.tabItemInputBinding');\n },\n _getTabName: function(anchor) {\n return anchor.attr('data-value');\n }\n});\n\nShiny.inputBindings.register(tabItemInputBinding, 'shinydashboard.tabItemInput');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_sidebarCollapsed.js\n\n/* global Shiny */\n\n// sidebarCollapsedInputBinding\n// ------------------------------------------------------------------\n// This keeps tracks of whether the sidebar is expanded (default)\n// or collapsed\nvar sidebarCollapsedInputBinding = new Shiny.InputBinding();\n$.extend(sidebarCollapsedInputBinding, {\n find: function(scope) {\n // This will also have id=\"sidebarCollapsed\"\n return $(scope).find('.main-sidebar').first();\n },\n getValue: function(el) {\n return $(el).attr(\"data-collapsed\") === \"true\";\n },\n setValue: function(el, value) {\n $(el).attr(\"data-collapsed\", value);\n },\n toggleValue: function(el) {\n var current = this.getValue(el);\n var newVal = current ? \"false\" : \"true\";\n this.setValue(el, newVal);\n },\n receiveMessage: function(el, data) {\n if (data.hasOwnProperty('value'))\n this.setValue(el, data.value);\n },\n subscribe: function(el, callback) {\n $(el).on('change.sidebarCollapsedInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.sidebarCollapsedInputBinding');\n }\n});\nShiny.inputBindings.register(sidebarCollapsedInputBinding,\n 'shinydashboard.sidebarCollapsedInputBinding');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/input_binding_sidebarmenuExpanded.js\n\n/* global Shiny */\n\n// sidebarmenuExpandedInputBinding\n// ------------------------------------------------------------------\n// This keeps tracks of what menuItem (if any) is expanded\nvar sidebarmenuExpandedInputBinding = new Shiny.InputBinding();\n$.extend(sidebarmenuExpandedInputBinding, {\n find: function(scope) {\n // This will also have id=\"sidebarItemExpanded\"\n return $(scope).find('section.sidebar');\n },\n getValue: function(el) {\n var $open = $(el).find('li ul.menu-open');\n if ($open.length === 1) return $open.attr('data-expanded');\n else return null;\n },\n setValue: function(el, value) {\n var $menuItem = $(el).find(\"[data-expanded='\" + value + \"']\");\n // This will trigger actions defined by AdminLTE, as well as actions\n // defined in sidebar.js.\n $menuItem.prev().trigger(\"click\");\n },\n subscribe: function(el, callback) {\n $(el).on('change.sidebarmenuExpandedInputBinding', function() {\n callback();\n });\n },\n unsubscribe: function(el) {\n $(el).off('.sidebarmenuExpandedInputBinding');\n }\n});\nShiny.inputBindings.register(sidebarmenuExpandedInputBinding,\n 'shinydashboard.sidebarmenuExpandedInputBinding');\n","//---------------------------------------------------------------------\n// Source file: ../srcjs/_end.js\n\n});\n"]} ############################################## r-cran-shinydashboard-0.7.1/inst/shinydashboard.js-75- r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:76:// Get the correct value for `input$sidebarCollapsed`, depending on r-cran-shinydashboard-0.7.1/inst/shinydashboard.js-77-// whether or not the left offset on the sidebar is negative (hidden r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:78:// - so `input$sidebarCollapsed` should be TRUE) or 0 (shown - so r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:79:// `input$sidebarCollapsed` should be FALSE). That we know of, r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:80:// `$(".main-sidebar").is(":visible")` is always true, so there is r-cran-shinydashboard-0.7.1/inst/shinydashboard.js-81-// no need to check for that. ############################################## r-cran-shinydashboard-0.7.1/inst/shinydashboard.js-108-// collapsed (either because the screen is small or because r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:109:// `dashboardSidebar(disable = TRUE`), make sure that `input$sidebarCollapsed` r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:110:// is set to `FALSE`. Whenever this is the case, `$(".main-sidebar").offset().left` r-cran-shinydashboard-0.7.1/inst/shinydashboard.js:111:// is negative. That we know of, `$(".main-sidebar").is(":visible")` is always r-cran-shinydashboard-0.7.1/inst/shinydashboard.js-112-// true, so there is no need to check for that. ############################################## r-cran-shinydashboard-0.7.1/NEWS.md-41- r-cran-shinydashboard-0.7.1/NEWS.md:42:* Fixed [#217](https://github.com/rstudio/shinydashboard/issues/217): correct `input$sidebarCollapsed` value for edge cases by attaching the change event to the end of the sidebar CSS transitions (instead of when the toggle button is clicked). Also make sure that `input$sidebarCollapsed` is set to `FALSE` when the app starts up with the sidebar already collapsed. ([#222](https://github.com/rstudio/shinydashboard/pull/222)) r-cran-shinydashboard-0.7.1/NEWS.md-43-