From 3cc218597eb8f3163cf3145e05117b9f04d741c1 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Wed, 18 Jan 2017 08:54:30 +0200 Subject: [PATCH] Revert "Remove turbolinks, load js in async mode" This reverts commit fec7f82a96492ee615cf6b1402d21ffd3ff215a5. --- app/assets/javascripts/admin-manifest.coffee | 1 + .../javascripts/admin/application.coffee | 87 ++++++++++--------- app/views/layouts/admin.haml | 2 +- app/views/layouts/admin/application.haml | 85 ++++++++++++++++++ 4 files changed, 131 insertions(+), 44 deletions(-) create mode 100644 app/views/layouts/admin/application.haml diff --git a/app/assets/javascripts/admin-manifest.coffee b/app/assets/javascripts/admin-manifest.coffee index b5a67a44e..02cffe443 100644 --- a/app/assets/javascripts/admin-manifest.coffee +++ b/app/assets/javascripts/admin-manifest.coffee @@ -1,5 +1,6 @@ #= require jquery #= require jquery_ujs +#= require turbolinks #= require bootstrap-sprockets #= require typeahead.bundle.min #= require admin/autocomplete diff --git a/app/assets/javascripts/admin/application.coffee b/app/assets/javascripts/admin/application.coffee index 6a6c30bec..1b3335d63 100644 --- a/app/assets/javascripts/admin/application.coffee +++ b/app/assets/javascripts/admin/application.coffee @@ -1,52 +1,53 @@ -$('.selectize').selectize({ - allowEmptyOption: true -}) -$('.selectize_create').selectize({ - allowEmptyOption: true, create: true -}) +$(document).on 'page:change', -> + $('.selectize').selectize({ + allowEmptyOption: true + }) + $('.selectize_create').selectize({ + allowEmptyOption: true, create: true + }) -$('.js-datepicker').datepicker({ - showAnim: "", - autoclose: true, - dateFormat: "dd.mm.yy", - changeMonth: true, - changeYear: true -}) + $('.js-datepicker').datepicker({ + showAnim: "", + autoclose: true, + dateFormat: "dd.mm.yy", + changeMonth: true, + changeYear: true + }) -# client side validate all forms -$('form').each -> - $(this).validate() - -$('[data-toggle="popover"]').popover() + # client side validate all forms + $('form').each -> + $(this).validate() + + $('[data-toggle="popover"]').popover() -# doublescroll -$('[data-doublescroll]').doubleScroll({ - onlyIfScroll: false, - scrollCss: - 'overflow-x': 'auto' - 'overflow-y': 'hidden' - contentCss: - 'overflow-x': 'auto' - 'overflow-y': 'hidden' - resetOnWindowResize: true -}) + # doublescroll + $('[data-doublescroll]').doubleScroll({ + onlyIfScroll: false, + scrollCss: + 'overflow-x': 'auto' + 'overflow-y': 'hidden' + contentCss: + 'overflow-x': 'auto' + 'overflow-y': 'hidden' + resetOnWindowResize: true + }) -positionSlider = -> - for scroll in document.querySelectorAll('[data-doublescroll]') - wrapper = scroll.previousSibling - if $(scroll).offset().top < $(window).scrollTop() - wrapper.style.position = 'fixed' - wrapper.style.top = '-5px' - else - wrapper.style.position = 'relative' - wrapper.style.top = '0' - return + positionSlider = -> + for scroll in document.querySelectorAll('[data-doublescroll]') + wrapper = scroll.previousSibling + if $(scroll).offset().top < $(window).scrollTop() + wrapper.style.position = 'fixed' + wrapper.style.top = '-5px' + else + wrapper.style.position = 'relative' + wrapper.style.top = '0' + return -positionSlider() -$(window).scroll(positionSlider).resize positionSlider -#due .report-table width: auto top scrollbar appears after resize so we do fake resize action -$(window).resize(); + positionSlider() + $(window).scroll(positionSlider).resize positionSlider + #due .report-table width: auto top scrollbar appears after resize so we do fake resize action + $(window).resize() diff --git a/app/views/layouts/admin.haml b/app/views/layouts/admin.haml index 8e8e3230e..70ee14cfc 100644 --- a/app/views/layouts/admin.haml +++ b/app/views/layouts/admin.haml @@ -8,7 +8,7 @@ - else %title= t(:admin_head_title) = csrf_meta_tags - = stylesheet_link_tag 'admin-manifest', media: 'all' + = stylesheet_link_tag 'admin-manifest', media: 'all', 'data-turbolinks-track' => true = favicon_link_tag 'favicon.ico' %body{:style => env_style} .navbar.navbar-inverse.navbar-static-top{role: "navigation"} diff --git a/app/views/layouts/admin/application.haml b/app/views/layouts/admin/application.haml new file mode 100644 index 000000000..9937937e6 --- /dev/null +++ b/app/views/layouts/admin/application.haml @@ -0,0 +1,85 @@ +!!! 5 +%html{lang: I18n.locale.to_s} + %head + %meta{charset: "utf-8"}/ + %meta{content: "IE=edge", "http-equiv" => "X-UA-Compatible"}/ + %meta{content: "width=device-width, initial-scale=1", name: "viewport"}/ + %meta{content: "Full stack top-level domain (TLD) management.", name: "description"}/ + %meta{content: "Gitlab LTD", name: "author"}/ + - if content_for? :head_title + = yield :head_title + - else + %title= t(:admin_head_title) + = csrf_meta_tags + = stylesheet_link_tag 'admin-manifest', media: 'all', 'data-turbolinks-track' => true + = javascript_include_tag 'admin-manifest', 'data-turbolinks-track' => true + = favicon_link_tag 'favicon.ico' + %body{:style => env_style} + / Static navbar + .navbar.navbar-inverse.navbar-static-top{role: "navigation"} + .container + .navbar-header + %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", type: "button"} + %span.sr-only Toggle navigation + %span.icon-bar + %span.icon-bar + %span.icon-bar + = link_to admin_dashboard_path, class: 'navbar-brand' do + = ENV['app_name'] + - if unstable_env.present? + .text-center + %small{style: 'color: #0074B3;'}= unstable_env + + .navbar-collapse.collapse + %ul.nav.navbar-nav + - if can? :show, Domain + %li= link_to t(:domains), admin_domains_path + - if can? :show, Contact + %li= link_to t(:contacts), admin_contacts_path + - if can? :show, Registrar + %li= link_to t(:registrars), admin_registrars_path + - if can? :show, Keyrelay + %li= link_to t(:keyrelays), admin_keyrelays_path + - if can?(:access, :settings_menu) + %li.dropdown + %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"} + = t(:settings) + %span.caret + %ul.dropdown-menu{role: "menu"} + %li.dropdown-header= t(:users) + %li= link_to t(:api_users), admin_api_users_path + %li= link_to t(:admin_users), admin_admin_users_path + %li.divider + %li.dropdown-header= t(:billing) + - if can? :view, Pricelist + %li= link_to t(:pricelists), admin_pricelists_path + %li= link_to t(:bank_statements), admin_bank_statements_path + %li= link_to t(:invoices), admin_invoices_path + %li= link_to t(:account_activities), admin_account_activities_path(created_after: 'today') + %li.divider + %li.dropdown-header= t(:archive) + %li= link_to t(:domains_history), admin_domain_versions_path + %li= link_to t(:contacts_history), admin_contact_versions_path + %li.divider + %li.dropdown-header= t(:system) + %li= link_to t(:settings), admin_settings_path + %li= link_to t(:zonefile), admin_zonefile_settings_path + %li= link_to t(:blocked_domains), admin_blocked_domains_path + %li= link_to t(:reserved_domains), admin_reserved_domains_path + %li= link_to t(:mail_templates), admin_mail_templates_path + -# %li= link_to t(:domains_history), admin_domain_versions_path + %li= link_to t(:epp_logs), admin_epp_logs_path(created_after: 'today') + %li= link_to t(:repp_logs), admin_repp_logs_path(created_after: 'today') + %li= link_to t(:que), '/admin/que' + + - if signed_in? + %ul.nav.navbar-nav.navbar-right + %li= link_to t(:log_out, user: current_user), '/admin/logout' + + .container + = render 'shared/flash' + = yield + + .footer.text-right + Version + = CURRENT_COMMIT_HASH