From 5516926b7417b513b12a1bfe15c576d4745dee16 Mon Sep 17 00:00:00 2001 From: Steffen van Bergerem Date: Mon, 8 Jun 2015 12:24:08 +0200 Subject: [PATCH] Update perfect-scrollbar closes #6085 --- Changelog.md | 3 +++ Gemfile | 2 +- Gemfile.lock | 5 ++--- app/assets/javascripts/app/app.js | 2 +- .../app/views/notification_dropdown_view.js | 14 +++++++++++--- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Changelog.md b/Changelog.md index 5b002aa64..32f8c28c1 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,8 @@ # 0.5.2.0 +# Refactor +* Update perfect-scrollbar [#6085](https://github.com/diaspora/diaspora/pull/6085) + # 0.5.1.0 ## Configuration changes diff --git a/Gemfile b/Gemfile index bbca26998..8846d94ce 100644 --- a/Gemfile +++ b/Gemfile @@ -108,7 +108,7 @@ source "https://rails-assets.org" do gem "rails-assets-jquery-idletimer", "1.0.1" gem "rails-assets-jquery-placeholder", "2.1.1" gem "rails-assets-jquery-textchange", "0.2.3" - gem "rails-assets-perfect-scrollbar", "0.5.9" + gem "rails-assets-perfect-scrollbar", "0.6.2" gem "rails-assets-jakobmattsson--jquery-elastic", "1.6.11" end diff --git a/Gemfile.lock b/Gemfile.lock index f66f275bf..ceb2a873a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -551,8 +551,7 @@ GEM rails-assets-markdown-it-sanitizer (0.3.1) rails-assets-markdown-it-sub (1.0.0) rails-assets-markdown-it-sup (1.0.0) - rails-assets-perfect-scrollbar (0.5.9) - rails-assets-jquery (>= 1.10) + rails-assets-perfect-scrollbar (0.6.2) rails-deprecated_sanitizer (1.0.3) activesupport (>= 4.2.0.alpha) rails-dom-testing (1.0.6) @@ -836,7 +835,7 @@ DEPENDENCIES rails-assets-markdown-it-sanitizer (= 0.3.1)! rails-assets-markdown-it-sub (= 1.0.0)! rails-assets-markdown-it-sup (= 1.0.0)! - rails-assets-perfect-scrollbar (= 0.5.9)! + rails-assets-perfect-scrollbar (= 0.6.2)! rails-i18n (= 4.0.4) rails-timeago (= 2.11.0) rails_admin (= 0.6.7) diff --git a/app/assets/javascripts/app/app.js b/app/assets/javascripts/app/app.js index de6913f21..11f5dd367 100644 --- a/app/assets/javascripts/app/app.js +++ b/app/assets/javascripts/app/app.js @@ -14,7 +14,7 @@ //= require_tree ./collections //= require_tree ./views -//= require perfect-scrollbar +//= require perfect-scrollbar/perfect-scrollbar.jquery var app = { collections: {}, diff --git a/app/assets/javascripts/app/views/notification_dropdown_view.js b/app/assets/javascripts/app/views/notification_dropdown_view.js index 36de9c954..d94d609a0 100644 --- a/app/assets/javascripts/app/views/notification_dropdown_view.js +++ b/app/assets/javascripts/app/views/notification_dropdown_view.js @@ -15,6 +15,7 @@ app.views.NotificationDropdown = app.views.Base.extend({ this.dropdown = $('#notification_dropdown'); this.dropdownNotifications = this.dropdown.find('.notifications'); this.ajaxLoader = this.dropdown.find('.ajax_loader'); + this.perfectScrollbarInitialized = false; }, toggleDropdown: function(evt){ @@ -43,7 +44,10 @@ app.views.NotificationDropdown = app.views.Base.extend({ if(!inDropdown && !inHovercard && this.dropdownShowing()){ this.badge.removeClass('active'); this.dropdown.css('display', 'none'); - this.dropdownNotifications.perfectScrollbar('destroy'); + if(this.perfectScrollbarInitialized) { + this.dropdownNotifications.perfectScrollbar("destroy"); + this.perfectScrollbarInitialized = false; + } } }, @@ -108,8 +112,12 @@ app.views.NotificationDropdown = app.views.Base.extend({ app.helpers.timeago(this.dropdownNotifications); - this.dropdownNotifications.perfectScrollbar('destroy').perfectScrollbar(); - this.dropdownNotifications.removeClass('loading'); + if(this.perfectScrollbarInitialized) { + this.dropdownNotifications.perfectScrollbar("destroy"); + } + this.dropdownNotifications.perfectScrollbar(); + this.perfectScrollbarInitialized = true; + this.dropdownNotifications.removeClass("loading"); this.dropdownNotifications.scroll(function(){ self.dropdownScroll(); });