From a99e5cd810b28dda83d3b7809fdf9f0f8031ef7a Mon Sep 17 00:00:00 2001
From: Connor Shea <connor.james.shea@gmail.com>
Date: Tue, 28 Jun 2016 12:17:29 -0600
Subject: [PATCH] Split Cropper.js from the main JavaScript manifest.

---
 app/assets/javascripts/application.js.coffee           | 1 -
 app/assets/javascripts/dispatcher.js.coffee            | 1 -
 app/assets/javascripts/lib/cropper.js.coffee           | 1 +
 app/assets/javascripts/profile/application.js.coffee   | 2 ++
 app/assets/javascripts/{ => profile}/gl_crop.js.coffee | 0
 app/assets/javascripts/{ => profile}/profile.js.coffee | 3 +++
 app/views/profiles/show.html.haml                      | 4 ++++
 config/application.rb                                  | 1 +
 8 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 app/assets/javascripts/lib/cropper.js.coffee
 create mode 100644 app/assets/javascripts/profile/application.js.coffee
 rename app/assets/javascripts/{ => profile}/gl_crop.js.coffee (100%)
 rename app/assets/javascripts/{ => profile}/profile.js.coffee (96%)

diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee
index b6dbf2d0cc1..715d71b565a 100644
--- a/app/assets/javascripts/application.js.coffee
+++ b/app/assets/javascripts/application.js.coffee
@@ -54,7 +54,6 @@
 #= require_directory ./u2f
 #= require_directory .
 #= require fuzzaldrin-plus
-#= require cropper
 #= require u2f
 
 window.slugify = (text) ->
diff --git a/app/assets/javascripts/dispatcher.js.coffee b/app/assets/javascripts/dispatcher.js.coffee
index 7fbff9214cf..6f0ebf4322c 100644
--- a/app/assets/javascripts/dispatcher.js.coffee
+++ b/app/assets/javascripts/dispatcher.js.coffee
@@ -129,7 +129,6 @@ class Dispatcher
       when 'dashboard', 'root'
         shortcut_handler = new ShortcutsDashboardNavigation()
       when 'profiles'
-        new Profile()
         new NotificationsForm()
         new NotificationsDropdown()
       when 'projects'
diff --git a/app/assets/javascripts/lib/cropper.js.coffee b/app/assets/javascripts/lib/cropper.js.coffee
new file mode 100644
index 00000000000..32536d23fe3
--- /dev/null
+++ b/app/assets/javascripts/lib/cropper.js.coffee
@@ -0,0 +1 @@
+#= require cropper
diff --git a/app/assets/javascripts/profile/application.js.coffee b/app/assets/javascripts/profile/application.js.coffee
new file mode 100644
index 00000000000..91cacfece46
--- /dev/null
+++ b/app/assets/javascripts/profile/application.js.coffee
@@ -0,0 +1,2 @@
+#
+#= require_tree .
diff --git a/app/assets/javascripts/gl_crop.js.coffee b/app/assets/javascripts/profile/gl_crop.js.coffee
similarity index 100%
rename from app/assets/javascripts/gl_crop.js.coffee
rename to app/assets/javascripts/profile/gl_crop.js.coffee
diff --git a/app/assets/javascripts/profile.js.coffee b/app/assets/javascripts/profile/profile.js.coffee
similarity index 96%
rename from app/assets/javascripts/profile.js.coffee
rename to app/assets/javascripts/profile/profile.js.coffee
index 1583d1ba6f9..b276242f506 100644
--- a/app/assets/javascripts/profile.js.coffee
+++ b/app/assets/javascripts/profile/profile.js.coffee
@@ -78,3 +78,6 @@ $ ->
 
     if comment && comment.length > 1 && $title.val() == ''
       $title.val(comment[1]).change()
+
+  if $('body').attr('data-page').split(':').first() == 'profiles'
+    new Profile()
diff --git a/app/views/profiles/show.html.haml b/app/views/profiles/show.html.haml
index eef50d887c7..e8a70cfd84b 100644
--- a/app/views/profiles/show.html.haml
+++ b/app/views/profiles/show.html.haml
@@ -1,3 +1,7 @@
+- content_for :page_specific_javascripts do
+  = page_specific_javascript_tag('lib/cropper.js')
+  = page_specific_javascript_tag('profile/application.js')
+
 = form_for @user, url: profile_path, method: :put, html: { multipart: true, class: "edit-user prepend-top-default" }, authenticity_token: true do |f|
   = form_errors(@user)
 
diff --git a/config/application.rb b/config/application.rb
index 2b0595ede2b..21e7cc7b6e8 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -84,6 +84,7 @@ module Gitlab
     config.assets.precompile << "graphs/application.js"
     config.assets.precompile << "users/application.js"
     config.assets.precompile << "network/application.js"
+    config.assets.precompile << "profile/application.js"
     config.assets.precompile << "lib/utils/*.js"
     config.assets.precompile << "lib/*.js"
 
-- 
GitLab