R/setDashOptions.R

#setDashOptions <- function(sidebarExpandOnHover = FALSE, controlSidebarSlide = TRUE) {
#  shiny::tags$head(
#    shiny::tags$script(
#      shiny::HTML(
#        paste0(
#          "//---------------------------------------------------------------------
#           // Source file: ../srcjs/AdminLTE/app.js
#          
#          /*! AdminLTE app.js
#          * ================
#          * Main JS application file for AdminLTE v2. This file
#          * should be included in all pages. It controls some layout
#          * options and implements exclusive AdminLTE plugins.
#          *
#          * @Author  Almsaeed Studio
#          * @Support <http://www.almsaeedstudio.com>
#          * @Email   <abdullah@almsaeedstudio.com>
#          * @version 2.3.11
#          * @license MIT <http://opensource.org/licenses/MIT>
#          */
#          
#          //Make sure jQuery has been loaded before app.js
#          if (typeof jQuery === 'undefined') {
#          throw new Error('AdminLTE requires jQuery');
#          }
#          
#          /* AdminLTE
#          *
#          * @type Object
#          * @description $.AdminLTE is the main object for the template's app.
#          *              It's used for implementing functions and options related
#          *              to the template. Keeping everything wrapped in an object
#          *              prevents conflict with other plugins and is a better
#          *              way to organize our code.
#          */
#          $.AdminLTE = {};
#          
#          /* --------------------
#          * - AdminLTE Options -
#          * --------------------
#          * Modify these options to suit your implementation
#          */
#          $.AdminLTE.options = {
#          //Add slimscroll to navbar menus
#          //This requires you to load the slimscroll plugin
#          //in every page before app.js
#          navbarMenuSlimscroll: true,
#          navbarMenuSlimscrollWidth: '3px', //The width of the scroll bar
#          navbarMenuHeight: '200px', //The height of the inner menu
#          //General animation speed for JS animated elements such as box collapse/expand and
#          //sidebar treeview slide up/down. This options accepts an integer as milliseconds,
#          //'fast', 'normal', or 'slow'
#          animationSpeed: 500,
#          //Sidebar push menu toggle button selector
#          sidebarToggleSelector: '[data-toggle='offcanvas']',
#          //Activate sidebar push menu
#          sidebarPushMenu: true,
#          //Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)
#          sidebarSlimScroll: true,
#          //Enable sidebar expand on hover effect for sidebar mini
#          //This option is forced to true if both the fixed layout and sidebar mini
#          //are used together
#          sidebarExpandOnHover: ", sidebarExpandOnHover, ",
#          //BoxRefresh Plugin
#          enableBoxRefresh: true,
#          //Bootstrap.js tooltip
#          enableBSToppltip: true,
#          BSTooltipSelector: '[data-toggle='tooltip']',
#          //Enable Fast Click. Fastclick.js creates a more
#          //native touch experience with touch devices. If you
#          //choose to enable the plugin, make sure you load the script
#          //before AdminLTE's app.js
#          enableFastclick: false,
#          //Control Sidebar Tree views
#          enableControlTreeView: true,
#          //Control Sidebar Options
#          enableControlSidebar: true,
#          controlSidebarOptions: {
#          //Which button should trigger the open/close event
#          toggleBtnSelector: '[data-toggle='control-sidebar']',
#          //The sidebar selector
#          selector: '.control-sidebar',
#          //Enable slide over content
#          slide: ", controlSidebarSlide, "
#          },
#          //Box Widget Plugin. Enable this plugin
#          //to allow boxes to be collapsed and/or removed
#          enableBoxWidget: true,
#          //Box Widget plugin options
#          boxWidgetOptions: {
#          boxWidgetIcons: {
#          //Collapse icon
#          collapse: 'fa-minus',
#          //Open icon
#          open: 'fa-plus',
#          //Remove icon
#          remove: 'fa-times'
#          },
#          boxWidgetSelectors: {
#          //Remove button selector
#          remove: '[data-widget='remove']',
#          //Collapse button selector
#          collapse: '[data-widget='collapse']'
#          }
#          },
#          //Direct Chat plugin options
#          directChat: {
#          //Enable direct chat by default
#          enable: true,
#          //The button to open and close the chat contacts pane
#          contactToggleSelector: '[data-widget='chat-pane-toggle']'
#          },
#          //Define the set of colors to use globally around the website
#          colors: {
#          lightBlue: '#3c8dbc',
#          red: '#f56954',
#          green: '#00a65a',
#          aqua: '#00c0ef',
#          yellow: '#f39c12',
#          blue: '#0073b7',
#          navy: '#001F3F',
#          teal: '#39CCCC',
#          olive: '#3D9970',
#          lime: '#01FF70',
#          orange: '#FF851B',
#          fuchsia: '#F012BE',
#          purple: '#8E24AA',
#          maroon: '#D81B60',
#          black: '#222222',
#          gray: '#d2d6de'
#          },
#//The standard screen sizes that bootstrap uses.
#//If you change these in the variables.less file, change
#//them here too.
#screenSizes: {
#  xs: 480,
#  sm: 768,
#  md: 992,
#  lg: 1200
#}
#          };
#
#/* ------------------
#  * - Implementation -
#  * ------------------
#  * The next block of code implements AdminLTE's
#* functions and plugins as specified by the
#* options above.
#*/
#$(function () {
#use strict';
#
#//Fix for IE page transitions
#$('body').removeClass('hold-transition');
#
#//Extend options if external options exist
#if (typeof AdminLTEOptions !== 'undefined') {
#$.extend(true,
#$.AdminLTE.options,
#AdminLTEOptions);
#}
#
#//Easy access to options
#var o = $.AdminLTE.options;
#
#//Set up the object
#_init();
#
#//Activate the layout maker
#$.AdminLTE.layout.activate();
#
#//Enable sidebar tree view controls
#if (o.enableControlTreeView) {
#$.AdminLTE.tree('.sidebar');
#}
#
#//Enable control sidebar
#if (o.enableControlSidebar) {
#$.AdminLTE.controlSidebar.activate();
#}
#
#//Add slimscroll to navbar dropdown
#if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {
#$('.navbar .menu').slimscroll({
#height: o.navbarMenuHeight,
#alwaysVisible: false,
#size: o.navbarMenuSlimscrollWidth
#}).css('width', '100%');
#}
#
#//Activate sidebar push menu
#if (o.sidebarPushMenu) {
#$.AdminLTE.pushMenu.activate(o.sidebarToggleSelector);
#}
#
#//Activate Bootstrap tooltip
#if (o.enableBSToppltip) {
#$('body').tooltip({
#selector: o.BSTooltipSelector,
#container: 'body'
#});
#}
#
#//Activate box widget
#if (o.enableBoxWidget) {
#$.AdminLTE.boxWidget.activate();
#}
#
#//Activate fast click
#if (o.enableFastclick && typeof FastClick != 'undefined') {
#FastClick.attach(document.body);
#}
#
#//Activate direct chat widget
#if (o.directChat.enable) {
#$(document).on('click', o.directChat.contactToggleSelector, function () {
#var box = $(this).parents('.direct-chat').first();
#box.toggleClass('direct-chat-contacts-open');
#});
#}
#
#/*
#* INITIALIZE BUTTON TOGGLE
#* ------------------------
#*/
#$('.btn-group[data-toggle='btn-toggle']').each(function () {
#var group = $(this);
#$(this).find('.btn').on('click', function (e) {
#group.find('.btn.active').removeClass('active');
#$(this).addClass('active');
#e.preventDefault();
#});
#
#});
#});
#
#/* ----------------------------------
#* - Initialize the AdminLTE Object -
#* ----------------------------------
#* All AdminLTE functions are implemented below.
#*/
#function _init() {
#use strict';
#/* Layout
#* ======
#* Fixes the layout height in case min-height fails.
#*
#* @type Object
#* @usage $.AdminLTE.layout.activate()
#*        $.AdminLTE.layout.fix()
#*        $.AdminLTE.layout.fixSidebar()
#*/
#$.AdminLTE.layout = {
#activate: function () {
#var _this = this;
#_this.fix();
#_this.fixSidebar();
#$('body, html, .wrapper').css('height', 'auto');
#$(window, '.wrapper').resize(function () {
#_this.fix();
#_this.fixSidebar();
#});
#},
#fix: function () {
#// Remove overflow from .wrapper if layout-boxed exists
#$('.layout-boxed > .wrapper').css('overflow', 'hidden');
#//Get window height and the wrapper height
#var footer_height = $('.main-footer').outerHeight() || 0;
#var neg = $('.main-header').outerHeight() + footer_height;
#var window_height = $(window).height();
#var sidebar_height = $('.sidebar').height() || 0;
#//Set the min-height of the content and sidebar based on the
#//the height of the document.
#if ($('body').hasClass('fixed')) {
#$('.content-wrapper, .right-side').css('min-height', window_height - footer_height);
#} else {
#var postSetWidth;
#if (window_height >= sidebar_height) {
#$('.content-wrapper, .right-side').css('min-height', window_height - neg);
#postSetWidth = window_height - neg;
#} else {
#$('.content-wrapper, .right-side').css('min-height', sidebar_height);
#postSetWidth = sidebar_height;
#}
#
#//Fix for the control sidebar height
#var controlSidebar = $($.AdminLTE.options.controlSidebarOptions.selector);
#if (typeof controlSidebar !== 'undefined') {
#if (controlSidebar.height() > postSetWidth)
#$('.content-wrapper, .right-side').css('min-height', controlSidebar.height());
#}
#
#}
#},
#fixSidebar: function () {
#//Make sure the body tag has the .fixed class
#if (!$('body').hasClass('fixed')) {
#if (typeof $.fn.slimScroll != 'undefined') {
#$('.sidebar').slimScroll({destroy: true}).height('auto');
#}
#return;
#} else if (typeof $.fn.slimScroll == 'undefined' && window.console) {
#window.console.error('Error: the fixed layout requires the slimscroll plugin!');
#}
#//Enable slimscroll for fixed layout
#if ($.AdminLTE.options.sidebarSlimScroll) {
#if (typeof $.fn.slimScroll != 'undefined') {
#//Destroy if it exists
#$('.sidebar').slimScroll({destroy: true}).height('auto');
#//Add slimscroll
#$('.sidebar').slimScroll({
#height: ($(window).height() - $('.main-header').height()) + 'px',
#color: 'rgba(0,0,0,0.2)',
#size: '3px'
#});
#}
#}
#}
#};
#
#/* PushMenu()
#* ==========
#* Adds the push menu functionality to the sidebar.
#*
#* @type Function
#* @usage: $.AdminLTE.pushMenu('[data-toggle='offcanvas']')
#*/
#$.AdminLTE.pushMenu = {
#activate: function (toggleBtn) {
#//Get the screen sizes
#var screenSizes = $.AdminLTE.options.screenSizes;
#
#//Enable sidebar toggle
#$(document).on('click', toggleBtn, function (e) {
#e.preventDefault();
#
#//Enable sidebar push menu
#if ($(window).width() > (screenSizes.sm - 1)) {
#if ($('body').hasClass('sidebar-collapse')) {
#$('body').removeClass('sidebar-collapse').trigger('expanded.pushMenu');
#} else {
#$('body').addClass('sidebar-collapse').trigger('collapsed.pushMenu');
#}
#}
#//Handle sidebar push menu for small screens
#else {
#if ($('body').hasClass('sidebar-open')) {
#$('body').removeClass('sidebar-open').removeClass('sidebar-collapse').trigger('collapsed.pushMenu');
#} else {
#$('body').addClass('sidebar-open').trigger('expanded.pushMenu');
#}
#}
#});
#
#$('.content-wrapper').click(function () {
#//Enable hide menu when clicking on the content-wrapper on small screens
#if ($(window).width() <= (screenSizes.sm - 1) && $('body').hasClass('sidebar-open')) {
#$('body').removeClass('sidebar-open');
#}
#});
#
#//Enable expand on hover for sidebar mini
#if ($.AdminLTE.options.sidebarExpandOnHover
#|| ($('body').hasClass('fixed')
#&& $('body').hasClass('sidebar-mini'))) {
#this.expandOnHover();
#}
#},
#expandOnHover: function () {
#var _this = this;
#var screenWidth = $.AdminLTE.options.screenSizes.sm - 1;
#//Expand sidebar on hover
#$('.main-sidebar').hover(function () {
#if ($('body').hasClass('sidebar-mini')
#&& $('body').hasClass('sidebar-collapse')
#&& $(window).width() > screenWidth) {
#_this.expand();
#}
#}, function () {
#if ($('body').hasClass('sidebar-mini')
#&& $('body').hasClass('sidebar-expanded-on-hover')
#&& $(window).width() > screenWidth) {
#_this.collapse();
#}
#});
#},
#expand: function () {
#$('body').removeClass('sidebar-collapse').addClass('sidebar-expanded-on-hover');
#},
#collapse: function () {
#if ($('body').hasClass('sidebar-expanded-on-hover')) {
#$('body').removeClass('sidebar-expanded-on-hover').addClass('sidebar-collapse');
#}
#}
#};
#
#/* Tree()
#* ======
#* Converts the sidebar into a multilevel
#* tree view menu.
#*
#* @type Function
#* @Usage: $.AdminLTE.tree('.sidebar')
#*/
#$.AdminLTE.tree = function (menu) {
#var _this = this;
#var animationSpeed = $.AdminLTE.options.animationSpeed;
#$(document).off('click', menu + ' li a')
#.on('click', menu + ' li a', function (e) {
#//Get the clicked link and the next element
#var $this = $(this);
#var checkElement = $this.next();
#
#//Check if the next element is a menu and is visible
#if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible')) && (!$('body').hasClass('sidebar-collapse'))) {
#//Close the menu
#checkElement.slideUp(animationSpeed, function () {
#checkElement.removeClass('menu-open');
#//Fix the layout in case the sidebar stretches over the height of the window
#//_this.layout.fix();
#});
#checkElement.parent('li').removeClass('active');
#}
#//If the menu is not visible
#else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
#//Get the parent menu
#var parent = $this.parents('ul').first();
#//Close all open menus within the parent
#var ul = parent.find('ul:visible').slideUp(animationSpeed);
#//Remove the menu-open class from the parent
#ul.removeClass('menu-open');
#//Get the parent li
#var parent_li = $this.parent('li');
#
#// shiny-mod (see README-shiny-mods.md)
#var shinyOutput = checkElement.find('.shiny-bound-output');
#if (shinyOutput.length !== 0 && shinyOutput.first().html().length === 0) {
#shinyOutput.first().html('<br/>');
#}
#
#//Open the target menu and add the menu-open class
#checkElement.slideDown(animationSpeed, function () {
#//Add the class active to the parent li
#checkElement.addClass('menu-open');
#parent.find('li.active').removeClass('active');
#parent_li.addClass('active');
#//Fix the layout in case the sidebar stretches over the height of the window
#_this.layout.fix();
#});
#}
#//if this isn't a link, prevent the page from being redirected
#if (checkElement.is('.treeview-menu')) {
#  e.preventDefault();
#}
#});
#};
#
#/* ControlSidebar
#* ==============
#  * Adds functionality to the right sidebar
#*
#  * @type Object
#* @usage $.AdminLTE.controlSidebar.activate(options)
#*/
#  $.AdminLTE.controlSidebar = {
#    //instantiate the object
#    activate: function () {
#      //Get the object
#      var _this = this;
#      //Update options
#      var o = $.AdminLTE.options.controlSidebarOptions;
#      //Get the sidebar
#      var sidebar = $(o.selector);
#      //The toggle button
#      var btn = $(o.toggleBtnSelector);
#      
#      //Listen to the click event
#      btn.on('click', function (e) {
#        e.preventDefault();
#        //If the sidebar is not open
#        if (!sidebar.hasClass('control-sidebar-open')
#            && !$('body').hasClass('control-sidebar-open')) {
#          //Open the sidebar
#          _this.open(sidebar, o.slide);
#        } else {
#          _this.close(sidebar, o.slide);
#        }
#      });
#      
#      //If the body has a boxed layout, fix the sidebar bg position
#      var bg = $('.control-sidebar-bg');
#      _this._fix(bg);
#      
#      //If the body has a fixed layout, make the control sidebar fixed
#      if ($('body').hasClass('fixed')) {
#        _this._fixForFixed(sidebar);
#      } else {
#        //If the content height is less than the sidebar's height, force max height
#        if ($('.content-wrapper, .right-side').height() < sidebar.height()) {
#        _this._fixForContent(sidebar);
#        }
#      }
#  },
#        //Open the control sidebar
#        open: function (sidebar, slide) {
#        //Slide over content
#        if (slide) {
#        sidebar.addClass('control-sidebar-open');
#        } else {
#        //Push the content by adding the open class to the body instead
#        //of the sidebar itself
#        $('body').addClass('control-sidebar-open');
#        }
#        },
#        //Close the control sidebar
#        close: function (sidebar, slide) {
#        if (slide) {
#        sidebar.removeClass('control-sidebar-open');
#        } else {
#        $('body').removeClass('control-sidebar-open');
#        }
#        },
#        _fix: function (sidebar) {
#        var _this = this;
#        if ($('body').hasClass('layout-boxed')) {
#        sidebar.css('position', 'absolute');
#        sidebar.height($('.wrapper').height());
#        if (_this.hasBindedResize) {
#        return;
#        }
#        $(window).resize(function () {
#        _this._fix(sidebar);
#        });
#        _this.hasBindedResize = true;
#        } else {
#        sidebar.css({
#        'position': 'fixed',
#        'height': 'auto'
#        });
#        }
#        },
#        _fixForFixed: function (sidebar) {
#        sidebar.css({
#        'position': 'fixed',
#        'max-height': '100%',
#        'overflow': 'auto',
#        'padding-bottom': '50px'
#        });
#        },
#        _fixForContent: function (sidebar) {
#        $('.content-wrapper, .right-side').css('min-height', sidebar.height());
#        }
#};
#        
#        /* BoxWidget
#        * =========
#        * BoxWidget is a plugin to handle collapsing and
#        * removing boxes from the screen.
#        *
#        * @type Object
#        * @usage $.AdminLTE.boxWidget.activate()
#        *        Set all your options in the main $.AdminLTE.options object
#        */
#        $.AdminLTE.boxWidget = {
#        selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,
#        icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,
#        animationSpeed: $.AdminLTE.options.animationSpeed,
#        activate: function (_box) {
#        var _this = this;
#        if (!_box) {
#        _box = document; // activate all boxes per default
#        }
#        //Listen for collapse event triggers
#        $(_box).on('click', _this.selectors.collapse, function (e) {
#        e.preventDefault();
#        _this.collapse($(this));
#        });
#        
#        //Listen for remove event triggers
#        $(_box).on('click', _this.selectors.remove, function (e) {
#        e.preventDefault();
#        _this.remove($(this));
#        });
#        },
#        collapse: function (element) {
#        var _this = this;
#        //Find the box parent
#        var box = element.parents('.box').first();
#        //Find the body and the footer
#        var box_content = box.find('> .box-body, > .box-footer, > form  >.box-body, > form > .box-footer');
#        if (!box.hasClass('collapsed-box')) {
#        //Convert minus into plus
#        element.children(':first')
#        .removeClass(_this.icons.collapse)
#        .addClass(_this.icons.open);
#        //Hide the content
#        box_content.slideUp(_this.animationSpeed, function () {
#        box.addClass('collapsed-box');
#        box.trigger('hidden.bs.collapse');
#        });
#        } else {
#        //Convert plus into minus
#        element.children(':first')
#        .removeClass(_this.icons.open)
#        .addClass(_this.icons.collapse);
#        
#        // Technically, it should be 'show' which is triggered here, and
#        // 'shown' which is triggered later. However, this works better because
#        // of the slow expansion transition -- the box would fully expand, and
#        // only then trigger 'shown', which then results in an update of the
#        // content. This would allow users to see the old content during the
#        // expansion.
#        box.trigger('shown.bs.collapse');
#        
#        //Show the content
#        box_content.slideDown(_this.animationSpeed, function () {
#        box.removeClass('collapsed-box');
#        });
#        }
#        },
#        remove: function (element) {
#        //Find the box parent
#        var box = element.parents('.box').first();
#        box.slideUp(this.animationSpeed);
#        }
#        };
#}
#      
#      /* ------------------
#      * - Custom Plugins -
#      * ------------------
#      * All custom plugins are defined below.
#      */
#      
#      /*
#      * BOX REFRESH BUTTON
#      * ------------------
#      * This is a custom plugin to use with the component BOX. It allows you to add
#      * a refresh button to the box. It converts the box's state to a loading state.
#      *
#        * @type plugin
#      * @usage $('#box-widget').boxRefresh( options );
#      */
#        (function ($) {
#          
#          'use strict';
#          
#          $.fn.boxRefresh = function (options) {
#            
#            // Render options
#            var settings = $.extend({
#              //Refresh button selector
#              trigger: '.refresh-btn',
#              //File source to be loaded (e.g: ajax/src.php)
#              source: '',
#              //Callbacks
#              onLoadStart: function (box) {
#                return box;
#              }, //Right after the button has been clicked
#              onLoadDone: function (box) {
#                return box;
#              } //When the source has been loaded
#              
#            }, options);
#            
#            //The overlay
#            var overlay = $('<div class='overlay'><div class='fa fa-refresh fa-spin'></div></div>');
#            
#            return this.each(function () {
#              //if a source is specified
#              if (settings.source === '') {
#                if (window.console) {
#                  window.console.log('Please specify a source first - boxRefresh()');
#                }
#                return;
#              }
#              //the box
#              var box = $(this);
#              //the button
#              var rBtn = box.find(settings.trigger).first();
#              
#              //On trigger click
#              rBtn.on('click', function (e) {
#                e.preventDefault();
#                //Add loading overlay
#                start(box);
#                
#                //Perform ajax call
#                box.find('.box-body').load(settings.source, function () {
#                  done(box);
#                });
#              });
#            });
#            
#            function start(box) {
#              //Add overlay and loading img
#              box.append(overlay);
#              
#              settings.onLoadStart.call(box);
#            }
#            
#            function done(box) {
#              //Remove overlay and loading img
#              box.find(overlay).remove();
#              
#              settings.onLoadDone.call(box);
#            }
#            
#          };
#          
#        })(jQuery);
#      
#      /*
#        * EXPLICIT BOX CONTROLS
#      * -----------------------
#        * This is a custom plugin to use with the component BOX. It allows you to activate
#      * a box inserted in the DOM after the app.js was loaded, toggle and remove box.
#      *
#        * @type plugin
#      * @usage $('#box-widget').activateBox();
#      * @usage $('#box-widget').toggleBox();
#      * @usage $('#box-widget').removeBox();
#      */
#        (function ($) {
#          
#          'use strict';
#          
#          $.fn.activateBox = function () {
#            $.AdminLTE.boxWidget.activate(this);
#          };
#          
#          $.fn.toggleBox = function () {
#            var button = $($.AdminLTE.boxWidget.selectors.collapse, this);
#            $.AdminLTE.boxWidget.collapse(button);
#          };
#          
#          $.fn.removeBox = function () {
#            var button = $($.AdminLTE.boxWidget.selectors.remove, this);
#            $.AdminLTE.boxWidget.remove(button);
#          };
#          
#        })(jQuery);
#      
#      /*
#        * TODO LIST CUSTOM PLUGIN
#      * -----------------------
#        * This plugin depends on iCheck plugin for checkbox and radio inputs
#      *
#        * @type plugin
#      * @usage $('#todo-widget').todolist( options );
#      */
#        (function ($) {
#          
#          'use strict';
#          
#          $.fn.todolist = function (options) {
#            // Render options
#            var settings = $.extend({
#              //When the user checks the input
#              onCheck: function (ele) {
#                return ele;
#              },
#              //When the user unchecks the input
#              onUncheck: function (ele) {
#                return ele;
#              }
#            }, options);
#            
#            return this.each(function () {
#              
#              if (typeof $.fn.iCheck != 'undefined') {
#                $('input', this).on('ifChecked', function () {
#                  var ele = $(this).parents('li').first();
#                  ele.toggleClass('done');
#                  settings.onCheck.call(ele);
#                });
#                
#                $('input', this).on('ifUnchecked', function () {
#                  var ele = $(this).parents('li').first();
#                  ele.toggleClass('done');
#                  settings.onUncheck.call(ele);
#                });
#              } else {
#                $('input', this).on('change', function () {
#                  var ele = $(this).parents('li').first();
#                  ele.toggleClass('done');
#                  if ($('input', ele).is(':checked')) {
#                    settings.onCheck.call(ele);
#                  } else {
#                    settings.onUncheck.call(ele);
#                  }
#                });
#              }
#            });
#          };
#        }(jQuery));
#      
#      //# sourceMappingURL=app.js.map
#          "
#        )
#      )
#    )
#  )
# }
dsciencelabs/shinydashboardPlus documentation built on Dec. 20, 2021, 2:10 a.m.