organized js assets

completes #11
This commit is contained in:
Mark Moser
2016-09-07 17:45:22 -05:00
parent a977c0ceb3
commit 1ded44610b
16 changed files with 38 additions and 14 deletions

View File

@ -14,13 +14,7 @@
//= require jquery_ujs
//= require turbolinks
//= require modernizr-lite/modernizr
//= require jquery-linedtextarea-moser
//= require button-group
//= require form-animation
//= require summary-edit
//= require textarea-limit
//= require live-coder
//= require admin
//= require forms/button-group
//= require forms/animations
//= require forms/textarea-limit

View File

@ -7,6 +7,7 @@ $textInput.each(function() {
$(this).prev('label').addClass('animate');
}
});
$textInput.on('focus', function() {
$(this).prev('label').addClass('animate');
}).on('focusout', function() {

View File

@ -0,0 +1,2 @@
//= require live-coder/linedtextarea
//= require live-coder/editor

View File

@ -18,9 +18,7 @@ function updateResults(elem) {
var jqueryNode = document.createElement("script");
jqueryNode.setAttribute("type", "text/javascript");
// TODO: fix eslint runner to handle erb snippets
// jqueryNode.setAttribute("src", "<%= "//#{ENV['full_app_url']}#{javascript_path "jquery"}" %>");
jqueryNode.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js");
jqueryNode.setAttribute("src", "<%= "//#{ENV['full_app_url']}#{javascript_path "jquery"}" %>");
iHead.appendChild(jqueryNode);
var codeStyle = document.createElement("style");

View File

@ -28,4 +28,14 @@ module ApplicationHelper
%w(Coder live_code)
], selected: (val.blank? ? '' : val))
end
# include javascript only once
# Allows the safe loading of js dependencies in partials multiple times.
def content_for_javascript_once code_label, &block
@js_blocks ||= []
return if @js_blocks.include? code_label
@js_blocks << code_label
content_for :custom_javascipt, &block
end
end

View File

@ -1,3 +1,9 @@
<%
content_for_javascript_once 'live-coder' do
javascript_include_tag "live-coder"
end
%>
<div data-id="live-coder-answer">
<div class="code-input">
<label for="question_input_options_html">HTML</label>

View File

@ -45,6 +45,8 @@
<!--[if ! lte IE 8]><!-->
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'admin', 'data-turbolinks-track': 'reload' %>
<%= yield :custom_javascipt %>
<!--<![endif]-->
</body>
</html>

View File

@ -52,6 +52,7 @@
<!--[if ! lte IE 8]><!-->
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<%= yield :custom_javascipt %>
<!--<![endif]-->
</body>

View File

@ -1,4 +1,8 @@
<%
content_for_javascript_once 'live-coder' do
javascript_include_tag "live-coder"
end
option_id = "#{question.question_id}_finish-later"
checkbox_html = {class: 'checkbox',
id: "answer_#{option_id}",

View File

@ -2,6 +2,9 @@
content_for :title, "Skills Assessment"
content_for :footer_title, "Skills Assessment"
content_for :progress, @status.progress.to_s
content_for_javascript_once 'summary-edit' do
javascript_include_tag "summary-edit"
end
%>
<main class="summary_tpl">