converts terms/index js_block into js_bundle

test plan:
* regression test term index

Change-Id: I9e37b1676beb19a3e49efde78d6b1b051f5b6bdf
Reviewed-on: https://gerrit.instructure.com/29099
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
This commit is contained in:
Landon Wilkins 2014-01-22 15:16:12 -07:00 committed by Landon Wilkins
parent 084f81d761
commit 30ac87c5d3
2 changed files with 82 additions and 98 deletions

View File

@ -0,0 +1,81 @@
require [
"i18n!terms.index",
"jquery",
"jquery.instructure_date_and_time",
"jquery.instructure_forms",
"jquery.instructure_misc_helpers",
"jquery.instructure_misc_plugins",
"jquery.templateData"
], (I18n, $) ->
$(document).ready ->
$(".edit_term_link").click (event) ->
event.preventDefault()
$(this).parents(".term").addClass "editing_term"
$(this).parents(".term").find(":text:visible:first").focus().select()
$(this).parents(".term").find(".date_field").not(".already_has_date_field").addClass("already_has_date_field").date_field()
$(".term .cancel_button").click ->
$(this).parents(".term").removeClass "editing_term"
$(this).parents(".term").remove() if $(this).parents(".term").attr("id") is "term_new"
$(".cant_delete_term_link").click (event) ->
event.preventDefault()
alert I18n.t("messages.classes_in_term", "You can't delete a term that still has classes in it.")
$(".delete_term_link").click (event) ->
event.preventDefault()
url = $(this).parents(".term").find(".enrollment_term_form").attr("action")
$(this).parents(".term").confirmDelete
url: url
message: I18n.t("prompts.delete", "Are you sure you want to delete this term?")
success: ->
$(this).fadeOut ->
$(this).remove()
$(".enrollment_term_form").formSubmit
processData: (data) ->
permissions = $(this).parents("tr").find(".permissions").getFormData(object_name: "enrollment_term")
$.each permissions, (key, val) ->
permissions[key] = $.datetime.process(val) if key.match(/\[(start)|(end)_at\]/)
$.extend permissions, data
beforeSubmit: (data) ->
$(this).find("button").attr "disabled", true
$(this).find(".submit_button").text I18n.t("messages.submitting", "Submitting...")
success: (data) ->
term = data.enrollment_term
$tr = $(this).parents(".term")
$(this).find("button").attr "disabled", false
$(this).find(".submit_button").text I18n.t("update_term", "Update Term")
url = $.replaceTags($(".term_url").attr("href"), "id", term.id)
$(this).attr "action", url
$(this).attr "method", "PUT"
for idx of term.enrollment_dates_overrides
override = term.enrollment_dates_overrides[idx].enrollment_dates_override
type_string = $.underscore(override.enrollment_type)
term[type_string + "_start_at"] = $.parseFromISO(override.start_at).date_formatted or I18n.t("date.term_start", "term start")
term[type_string + "_end_at"] = $.parseFromISO(override.end_at).date_formatted or I18n.t("date.term_end", "term end")
term["enrollment_term[overrides][" + type_string + "][start_at]"] = $.parseFromISO(override.start_at).date_formatted
term["enrollment_term[overrides][" + type_string + "][end_at]"] = $.parseFromISO(override.end_at).date_formatted
term.start_at = $.parseFromISO(term.start_at).date_formatted or I18n.t("date.unspecified", "whenever")
term.end_at = $.parseFromISO(term.end_at).date_formatted or I18n.t("date.unspecified", "whenever")
$tr.fillTemplateData data: term
$tr.attr "id", "term_" + term.id
$tr.fillFormData data,
object_name: "enrollment_term"
$tr.removeClass "editing_term"
error: (data) ->
$(this).find("button").attr "disabled", false
$(this).formErrors data
$(this).find(".submit_button").text I18n.t("errors.submit", "Error Submitting")
$(".add_term_link").click (event) ->
event.preventDefault()
return if $("#term_new").length > 0
$term = $("#term_blank").clone(true).attr("id", "term_new")
$("#terms").prepend $term.show()
$term.find(".edit_term_link").click()

View File

@ -57,104 +57,7 @@
}
</style>
<% js_block do %>
<script>
require([
'i18nObj' /* I18n.t */,
'jquery' /* $ */,
'jquery.instructure_date_and_time' /* parseFromISO, date_field */,
'jquery.instructure_forms' /* formSubmit, fillFormData, getFormData, formErrors */,
'jquery.instructure_misc_helpers' /* replaceTags, /\$\.underscore/ */,
'jquery.instructure_misc_plugins' /* confirmDelete */,
'jquery.templateData' /* fillTemplateData */
], function(I18n, $) {
$(document).ready(function() {
$(".edit_term_link").click(function(event) {
event.preventDefault();
$(this).parents(".term").addClass('editing_term');
$(this).parents(".term").find(":text:visible:first").focus().select();
$(this).parents(".term").find(".date_field").not(".already_has_date_field").addClass("already_has_date_field").date_field();
});
$(".term .cancel_button").click(function() {
$(this).parents(".term").removeClass('editing_term');
if($(this).parents(".term").attr('id') == 'term_new') {
$(this).parents(".term").remove();
}
});
$(".cant_delete_term_link").click(function(event) {
event.preventDefault();
alert(<%= jt('messages.classes_in_term', "You can't delete a term that still has classes in it.") %>);
});
$(".delete_term_link").click(function(event) {
event.preventDefault();
var url = $(this).parents(".term").find(".enrollment_term_form").attr('action');
$(this).parents(".term").confirmDelete({
url: url,
message: <%= jt('prompts.delete', "Are you sure you want to delete this term?") %>,
success: function() {
$(this).fadeOut(function() {
$(this).remove();
});
}
});
});
$(".enrollment_term_form").formSubmit({
processData: function(data) {
var permissions = $(this).parents("tr").find(".permissions").getFormData({object_name: 'enrollment_term'});
$.each(permissions, function(key, val) {
if (key.match(/\[(start)|(end)_at\]/)) {
permissions[key] = $.datetime.process(val);
}
});
return $.extend(permissions, data);
},
beforeSubmit: function(data) {
$(this).find("button").attr('disabled', true);
$(this).find(".submit_button").text(<%= jt('messages.submitting', "Submitting...") %>);
},
success: function(data) {
var term = data.enrollment_term;
var $tr = $(this).parents(".term")
$(this).find("button").attr('disabled', false);
$(this).find(".submit_button").text("Update Term")
var url = $.replaceTags($(".term_url").attr('href'), 'id', term.id);
$(this).attr('action', url);
$(this).attr('method', 'PUT');
for(var idx in term.enrollment_dates_overrides) {
var override = term.enrollment_dates_overrides[idx].enrollment_dates_override;
var type_string = $.underscore(override.enrollment_type)
term[type_string + "_start_at"] = $.parseFromISO(override.start_at).date_formatted || <%= jt('date.term_start', "term start") %>;
term[type_string + "_end_at"] = $.parseFromISO(override.end_at).date_formatted || <%= jt('date.term_end', "term end") %>;
term['enrollment_term[overrides][' + type_string + '][start_at]'] = $.parseFromISO(override.start_at).date_formatted;
term['enrollment_term[overrides][' + type_string + '][end_at]'] = $.parseFromISO(override.end_at).date_formatted;
}
term.start_at = $.parseFromISO(term.start_at).date_formatted || <%= jt('date.unspecified', "whenever") %>;
term.end_at = $.parseFromISO(term.end_at).date_formatted || <%= jt('date.unspecified', "whenever") %>;
$tr.fillTemplateData({
data: term
});
$tr.attr('id', 'term_' + term.id);
$tr.fillFormData(data, {object_name: 'enrollment_term'});
$tr.removeClass('editing_term');
},
error: function(data) {
$(this).find("button").attr('disabled', false);
$(this).formErrors(data);
$(this).find(".submit_button").text(<%= jt('errors.submit', "Error Submitting") %>)
}
});
$(".add_term_link").click(function(event) {
event.preventDefault();
if($("#term_new").length > 0) { return; }
var $term = $("#term_blank").clone(true).attr('id', 'term_new');
$("#terms").prepend($term.show());
$term.find(".edit_term_link").click();
});
});
});
</script>
<% end %>
<% js_bundle 'legacy/terms_index' %>
<h2><%= t 'titles.term_details', "Term Details" %></h2>
<div style="margin: 0 10px; width: auto;">
<table id="terms">