Commit cf4f1118 by Calen Pennington

Merge pull request #959 from MITx/feature/cas/tomg/saving-conventions

tweaked saving mechanisms
parents 14a94bac ddf3e2e3
...@@ -236,4 +236,5 @@ class CMS.Views.UnitEdit.SaveDraftButton extends Backbone.View ...@@ -236,4 +236,5 @@ class CMS.Views.UnitEdit.SaveDraftButton extends Backbone.View
@$el.addClass('disabled') @$el.addClass('disabled')
enable: => enable: =>
@$el.removeClass('disabled') @$el.removeClass('disabled')
\ No newline at end of file @model.save()
\ No newline at end of file
...@@ -63,6 +63,8 @@ $(document).ready(function() { ...@@ -63,6 +63,8 @@ $(document).ready(function() {
// add/remove policy metadata button click handlers // add/remove policy metadata button click handlers
$('.add-policy-data').bind('click', addPolicyMetadata); $('.add-policy-data').bind('click', addPolicyMetadata);
$('.remove-policy-data').bind('click', removePolicyMetadata); $('.remove-policy-data').bind('click', removePolicyMetadata);
$body.on('click', '.policy-list-element .save-button', savePolicyMetadata);
$body.on('click', '.policy-list-element .cancel-button', cancelPolicyMetadata);
$('.sync-date').bind('click', syncReleaseDate); $('.sync-date').bind('click', syncReleaseDate);
...@@ -161,19 +163,30 @@ function addPolicyMetadata(e) { ...@@ -161,19 +163,30 @@ function addPolicyMetadata(e) {
newNode.insertBefore('.add-policy-data'); newNode.insertBefore('.add-policy-data');
$('.remove-policy-data').bind('click', removePolicyMetadata); $('.remove-policy-data').bind('click', removePolicyMetadata);
newNode.find('.policy-list-name').focus(); newNode.find('.policy-list-name').focus();
newNode.find('.save-button').bind('click', savePolicyMetadata);
newNode.find('.cancel-button').bind('click', cancelPolicyMetadata);
} }
function savePolicyMetadata(e) { function savePolicyMetadata(e) {
e.preventDefault(); e.preventDefault();
var $policyElement = $(this).parents('.policy-list-element');
$('.save-subsection').click(); $('.save-subsection').click();
$(this).parents('.policy-list-element').removeClass('new-policy-list-element'); $policyElement.removeClass('new-policy-list-element');
$policyElement.find('.policy-list-name').attr('disabled', 'disabled');
$policyElement.removeClass('editing');
} }
function cancelPolicyMetadata(e) { function cancelPolicyMetadata(e) {
e.preventDefault(); e.preventDefault();
$(this).parents('.policy-list-element').remove();
var $policyElement = $(this).parents('.policy-list-element');
if(!$policyElement.hasClass('editing')) {
$policyElement.remove();
} else {
$policyElement.removeClass('new-policy-list-element');
$policyElement.find('.policy-list-name').val($policyElement.data('currentValues')[0]);
$policyElement.find('.policy-list-value').val($policyElement.data('currentValues')[1]);
}
$policyElement.removeClass('editing');
} }
function removePolicyMetadata(e) { function removePolicyMetadata(e) {
...@@ -315,6 +328,7 @@ function saveSubsection(e) { ...@@ -315,6 +328,7 @@ function saveSubsection(e) {
'margin-top': '-10px' 'margin-top': '-10px'
}); });
$changedInput.after($spinner); $changedInput.after($spinner);
$spinner.show();
} }
var id = $(this).data('id'); var id = $(this).data('id');
......
...@@ -22,12 +22,18 @@ ...@@ -22,12 +22,18 @@
} }
.policy-list { .policy-list {
input[disabled] {
border: none;
@include box-shadow(none);
}
.policy-list-name { .policy-list-name {
margin-right: 5px; margin-right: 5px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.policy-list-value { .policy-list-value {
width: 320px;
margin-right: 10px; margin-right: 10px;
} }
} }
...@@ -37,11 +43,26 @@ ...@@ -37,11 +43,26 @@
.cancel-button { .cancel-button {
display: none; display: none;
} }
.edit-icon {
margin-right: 8px;
}
&.editing,
&.new-policy-list-element {
.policy-list-name,
.policy-list-value {
border: 1px solid #b0b6c2;
@include linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, .3));
background-color: #edf1f5;
@include box-shadow(0 1px 2px rgba(0, 0, 0, .1) inset);
}
}
} }
.new-policy-list-element { .new-policy-list-element {
padding: 10px 10px 0; padding: 10px 10px 0;
margin: 0 -10px; margin: 0 -10px 10px;
border-radius: 3px; border-radius: 3px;
background: $mediumGrey; background: $mediumGrey;
...@@ -54,6 +75,10 @@ ...@@ -54,6 +75,10 @@
@include white-button; @include white-button;
} }
.edit-icon {
display: none;
}
.delete-icon { .delete-icon {
display: none; display: none;
} }
......
...@@ -326,6 +326,10 @@ ...@@ -326,6 +326,10 @@
display: none; display: none;
} }
#delete-draft {
display: inline-block;
}
.save-button, .save-button,
.preview-button, .preview-button,
.publish-button, .publish-button,
......
...@@ -36,7 +36,10 @@ ...@@ -36,7 +36,10 @@
<ol class='policy-list'> <ol class='policy-list'>
% for policy_name in policy_metadata.keys(): % for policy_name in policy_metadata.keys():
<li class="policy-list-element"> <li class="policy-list-element">
<input type="text" class="policy-list-name" name="${policy_name}" value="${policy_name}" disabled size="15"/>:&nbsp;<input type="text" class="policy-list-value" name="${policy_metadata[policy_name]}" value="${policy_metadata[policy_name]}" size="40"/><a href="#" class="delete-icon remove-policy-data"></a> <input type="text" class="policy-list-name" name="${policy_name}" value="${policy_name}" disabled size="15"/>:&nbsp;<input type="text" class="policy-list-value" name="${policy_metadata[policy_name]}" value="${policy_metadata[policy_name]}" size="40"/>
<a href="#" class="save-button">Save</a>
<a href="#" class="cancel-button">Cancel</a>
<a href="#" class="delete-icon remove-policy-data"></a>
</li> </li>
% endfor % endfor
<a href="#" class="new-policy-item add-policy-data"> <a href="#" class="new-policy-item add-policy-data">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment