From ccc2de5773c212005fa675f4ec34e136d7528655 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Wed, 6 Jul 2016 17:52:48 +0530 Subject: [PATCH 1/7] replace offcanvas with overlay list-sidebar --- frappe/public/css/sidebar.css | 53 +++++++++++++++++ frappe/public/js/frappe/list/list_sidebar.js | 13 ++++- frappe/public/js/frappe/ui/toolbar/toolbar.js | 8 ++- frappe/public/less/sidebar.less | 57 +++++++++++++++++++ 4 files changed, 129 insertions(+), 2 deletions(-) diff --git a/frappe/public/css/sidebar.css b/frappe/public/css/sidebar.css index d165ad7073..d551eb74a3 100644 --- a/frappe/public/css/sidebar.css +++ b/frappe/public/css/sidebar.css @@ -249,6 +249,59 @@ body[data-route^="Module"] .main-menu .form-sidebar { .layout-side-section .list-sidebar { margin-top: -15px; } +@media (max-width: 991px) { + .layout-side-section .list-sidebar { + margin-top: 0; + position: fixed; + background: white; + top: 0; + left: 0; + transform: translateX(-110%); + z-index: 9999; + box-shadow: 5px 0 25px 0px rgba(0, 0, 0, 0.3); + height: 100%; + width: 40%; + padding: 25px; + display: block !important; + transition: transform 300ms ease-in-out; + } + .layout-side-section .list-sidebar i.octicon-x { + margin: -12px; + padding: 12px; + } + .layout-side-section .list-sidebar div.close-sidebar { + opacity: 0; + transition: opacity 300ms ease 200ms; + } + .layout-side-section .list-sidebar.opened { + transform: translateX(0); + } + .layout-side-section .list-sidebar.opened div.close-sidebar { + opacity: 0.5; + background: #000; + position: fixed; + top: 0; + right: -150%; + width: 150%; + height: 100%; + z-index: 9998; + } + .layout-side-section .list-sidebar .reports-dropdown { + margin: 10px 0; + } + .layout-side-section .list-sidebar .reports-dropdown li:not(.divider) { + padding: 10px 0; + } +} +@media (max-width: 767px) { + .layout-side-section .list-sidebar { + width: 70%; + } + .layout-side-section .list-sidebar.opened div.close-sidebar { + right: -42.857%; + width: 42.857%; + } +} .sidebar-left .list-sidebar .stat-label, .sidebar-left .list-sidebar .stat-no-records { padding: 12px 14px; diff --git a/frappe/public/js/frappe/list/list_sidebar.js b/frappe/public/js/frappe/list/list_sidebar.js index 0d137e7d6e..6a84925d33 100644 --- a/frappe/public/js/frappe/list/list_sidebar.js +++ b/frappe/public/js/frappe/list/list_sidebar.js @@ -20,9 +20,20 @@ frappe.views.ListSidebar = Class.extend({ this.offcanvas_list_sidebar = $(".offcanvas .list-sidebar").html(sidebar_content); this.page_sidebar = $('') - .html(sidebar_content) + .html('') + .append('
') + .append(sidebar_content) .appendTo(this.page.sidebar.empty()); + this.page_sidebar.find(".close-sidebar").click(function() { + var list_sidebar = $('.layout-side-section .list-sidebar'); + list_sidebar.removeClass('opened'); + list_sidebar.find('.dropdown-toggle').removeClass('text-muted'); + setTimeout(function() { + list_sidebar.find('.reports-dropdown').addClass('dropdown-menu'); + }, 300); + }); + this.sidebar = this.page_sidebar.add(this.offcanvas_list_sidebar); this.setup_reports(); diff --git a/frappe/public/js/frappe/ui/toolbar/toolbar.js b/frappe/public/js/frappe/ui/toolbar/toolbar.js index 29cd587e55..899983adc3 100644 --- a/frappe/public/js/frappe/ui/toolbar/toolbar.js +++ b/frappe/public/js/frappe/ui/toolbar/toolbar.js @@ -10,7 +10,13 @@ frappe.ui.toolbar.Toolbar = Class.extend({ })); var sidebar = $('.offcanvas .sidebar-left').append(frappe.render_template("offcanvas_left_sidebar", {})); - header.find(".toggle-sidebar").on("click", frappe.ui.toolbar.toggle_left_sidebar); + // header.find(".toggle-sidebar").on("click", frappe.ui.toolbar.toggle_left_sidebar); + header.find(".toggle-sidebar").on("click", function () { + var list_sidebar = $('.layout-side-section .list-sidebar'); + list_sidebar.addClass('opened'); + list_sidebar.find('.reports-dropdown').removeClass('dropdown-menu').addClass('list-unstyled'); + list_sidebar.find('.dropdown-toggle').addClass('text-muted').find('.caret').addClass('hidden-xs'); + }); header.find(".toggle-navbar-new-comments").on("click", function() { $(".offcanvas").toggleClass("active-right").removeClass("active-left"); diff --git a/frappe/public/less/sidebar.less b/frappe/public/less/sidebar.less index 5b94d0bb45..86394588d6 100644 --- a/frappe/public/less/sidebar.less +++ b/frappe/public/less/sidebar.less @@ -255,6 +255,63 @@ body[data-route^="Module"] .main-menu { margin-top: -15px; } +.layout-side-section .list-sidebar { + @media (max-width: 991px) { + margin-top: 0; + position: fixed; + background: white; + top: 0; + left: 0; + transform: translateX(-110%); + z-index: 9999; + box-shadow: 5px 0 25px 0px rgba(0,0,0,0.3); + height: 100%; + width: 40%; + padding: 25px; + display: block !important; + transition: transform 300ms ease-in-out; + + i.octicon-x { + margin: -12px; + padding: 12px; + } + + div.close-sidebar { + opacity: 0; + transition: opacity 300ms ease 200ms; + } + + &.opened { + transform: translateX(0); + div.close-sidebar { + opacity: 0.5; + background: #000; + position: fixed; + top: 0; + right: -150%; + width: 150%; + height: 100%; + z-index: 9998; + } + } + + .reports-dropdown { + margin: 10px 0; + + li:not(.divider) { + padding: 10px 0; + } + } + } + @media (max-width: 767px) { + width: 70%; + &.opened div.close-sidebar { + right: -42.857%; + width: 42.857%; + } + } +} + .sidebar-left .list-sidebar { .stat-label, .stat-no-records { From bd6001eb3830ef038823d3666d8a8738c0e31342 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Mon, 11 Jul 2016 16:21:20 +0530 Subject: [PATCH 2/7] added search in mobile navbar --- frappe/public/css/desk.css | 1 + frappe/public/css/docs.css | 30 ++++++++++++++++ frappe/public/css/navbar.css | 30 ++++++++++++++++ .../js/frappe/ui/toolbar/awesome_bar.js | 2 +- .../public/js/frappe/ui/toolbar/navbar.html | 27 ++++++++++++--- frappe/public/less/desk.less | 1 + frappe/public/less/navbar.less | 34 +++++++++++++++++++ 7 files changed, 120 insertions(+), 5 deletions(-) diff --git a/frappe/public/css/desk.css b/frappe/public/css/desk.css index 837388cc1d..16bcfb4198 100644 --- a/frappe/public/css/desk.css +++ b/frappe/public/css/desk.css @@ -358,6 +358,7 @@ fieldset[disabled] .form-control { max-height: 200px; overflow-y: auto; overflow-x: hidden; + z-index: 1041; } .ui-autocomplete a { transition: none; diff --git a/frappe/public/css/docs.css b/frappe/public/css/docs.css index b354818a3e..478fe7c1f0 100644 --- a/frappe/public/css/docs.css +++ b/frappe/public/css/docs.css @@ -161,6 +161,36 @@ body { margin-right: 3px; border-radius: 4px; } +@media (max-width: 991px) { + .navbar-desk { + width: 60% !important; + } + .navbar-desk ~ ul > li { + float: left; + width: 50px; + } + .dropdown-navbar-new-comments > a { + padding: 8px 0 !important; + margin-left: 0 !important; + } +} +#searchModal .modal-dialog, +#searchModal .modal-content { + background: transparent; +} +#searchModal .modal-header { + background: #fff; + display: table; + width: 100%; +} +#searchModal .modal-header form, +#searchModal .modal-header button { + display: table-cell; + vertical-align: middle; +} +#searchModal .modal-header button { + height: 30px; +} .dropdown-navbar-new-comments > a { border: 0; margin-left: 15px; diff --git a/frappe/public/css/navbar.css b/frappe/public/css/navbar.css index 388f22ea83..902ab0aee7 100644 --- a/frappe/public/css/navbar.css +++ b/frappe/public/css/navbar.css @@ -27,6 +27,36 @@ margin-right: 3px; border-radius: 4px; } +@media (max-width: 991px) { + .navbar-desk { + width: 60% !important; + } + .navbar-desk ~ ul > li { + float: left; + width: 50px; + } + .dropdown-navbar-new-comments > a { + padding: 8px 0 !important; + margin-left: 0 !important; + } +} +#searchModal .modal-dialog, +#searchModal .modal-content { + background: transparent; +} +#searchModal .modal-header { + background: #fff; + display: table; + width: 100%; +} +#searchModal .modal-header form, +#searchModal .modal-header button { + display: table-cell; + vertical-align: middle; +} +#searchModal .modal-header button { + height: 30px; +} .dropdown-navbar-new-comments > a { border: 0; margin-left: 15px; diff --git a/frappe/public/js/frappe/ui/toolbar/awesome_bar.js b/frappe/public/js/frappe/ui/toolbar/awesome_bar.js index 5e729ab504..875a64dfd1 100644 --- a/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +++ b/frappe/public/js/frappe/ui/toolbar/awesome_bar.js @@ -79,7 +79,7 @@ frappe.search = { .autocomplete(opts).data('ui-autocomplete')._renderItem = frappe.search.render_item; - $("#sidebar-search") + $("#modal-search") .on("focus", open_recent) .autocomplete(opts).data('ui-autocomplete')._renderItem = frappe.search.render_item; diff --git a/frappe/public/js/frappe/ui/toolbar/navbar.html b/frappe/public/js/frappe/ui/toolbar/navbar.html index 12fc282e68..9bdc3417ca 100644 --- a/frappe/public/js/frappe/ui/toolbar/navbar.html +++ b/frappe/public/js/frappe/ui/toolbar/navbar.html @@ -1,6 +1,6 @@