diff options
author | Fatih Acet <acetfatih@gmail.com> | 2017-02-06 14:05:56 +0000 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2017-02-06 14:05:56 +0000 |
commit | 674a1aee453ae141d327fc40d427fa20f5e6fa87 (patch) | |
tree | ce4e5cbe9e8ef36d9ca4c0d7b2db200ddaf12cca | |
parent | 999edc5c1783aa205fdac4ba159e51851acdb446 (diff) | |
parent | 55d05bf8d8e4ecab456e751b550a5046a966d3b2 (diff) | |
download | gitlab-ce-674a1aee453ae141d327fc40d427fa20f5e6fa87.tar.gz |
Merge branch 'fix-ace-editor-modules' into 'master'
fix ace editor modules to include asset digest in production
See merge request !8869
-rw-r--r-- | app/assets/javascripts/lib/ace/ace_config_paths.js.erb | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/app/assets/javascripts/lib/ace/ace_config_paths.js.erb b/app/assets/javascripts/lib/ace/ace_config_paths.js.erb index 25e623f0fdc..976769ba84a 100644 --- a/app/assets/javascripts/lib/ace/ace_config_paths.js.erb +++ b/app/assets/javascripts/lib/ace/ace_config_paths.js.erb @@ -7,19 +7,28 @@ ace_modes = Dir[ace_gem_path + '/vendor/assets/javascripts/ace/mode-*.js'].sort. File.basename(file, '.js').sub(/^mode-/, '') end %> - +// Lazy-load configuration when ace.edit is called (function() { - window.gon = window.gon || {}; - var basePath = (window.gon.relative_url_root || '').replace(/\/$/, '') + '/assets/ace'; - ace.config.set('basePath', basePath); + var basePath; + var ace = window.ace; + var edit = ace.edit; + ace.edit = function() { + window.gon = window.gon || {}; + basePath = (window.gon.relative_url_root || '').replace(/\/$/, '') + '/assets/ace'; + ace.config.set('basePath', basePath); - // configure paths for all worker modules + // configure paths for all worker modules <% ace_workers.each do |worker| %> - ace.config.setModuleUrl('ace/mode/<%= worker %>_worker', basePath + '/worker-<%= worker %>.js'); + ace.config.setModuleUrl('ace/mode/<%= worker %>_worker', basePath + '/<%= File.basename(asset_path("ace/worker-#{worker}.js")) %>'); <% end %> - // configure paths for all mode modules + // configure paths for all mode modules <% ace_modes.each do |mode| %> - ace.config.setModuleUrl('ace/mode/<%= mode %>', basePath + '/mode-<%= mode %>.js'); + ace.config.setModuleUrl('ace/mode/<%= mode %>', basePath + '/<%= File.basename(asset_path("ace/mode-#{mode}.js")) %>'); <% end %> + + // restore original method + ace.edit = edit; + return ace.edit.apply(ace, arguments); + }; })(); |