mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-18 00:00:12 +01:00
Todo unchecking is still buggy, but needs a bunch more work to make it happen. Also added some useful globals to the standard layout for later access by application.js.
155 lines
4.8 KiB
JavaScript
155 lines
4.8 KiB
JavaScript
var Login = {
|
|
showOpenid: function() {
|
|
$('#database_auth_form').hide();
|
|
$('#openid_auth_form').show();
|
|
$('#alternate_auth_openid').hide();
|
|
$('#alternate_auth_database').show();
|
|
$('#openid_url').focus();
|
|
$('#openid_url').select();
|
|
$.cookie('preferred_auth', 'openid');
|
|
},
|
|
|
|
showDatabase: function(container) {
|
|
$('#openid_auth_form').hide();
|
|
$('#database_auth_form').show();
|
|
$('#alternate_auth_database').hide();
|
|
$('#alternate_auth_openid').show();
|
|
$('#user_login').focus();
|
|
$('#user_login').select();
|
|
$.cookie('preferred_auth', 'database');
|
|
}
|
|
}
|
|
|
|
var TracksForm = {
|
|
toggle: function(toggleDivId, formContainerId, formId, hideLinkText, hideLinkTitle, showLinkText, showLinkTitle) {
|
|
$(formContainerId).toggle();
|
|
toggleDiv = $(toggleDivId);
|
|
toggleLink = toggleDiv.down('a');
|
|
if (toggleDiv.hasClassName('hide_form')) {
|
|
toggleLink.update(showLinkText).setAttribute('title', showLinkTitle);
|
|
}
|
|
else {
|
|
toggleLink.update(hideLinkText).setAttribute('title', hideLinkTitle);
|
|
Form.focusFirstElement(formId);
|
|
}
|
|
toggleDiv.toggleClassName('hide_form');
|
|
},
|
|
get_period: function() {
|
|
if ($('recurring_todo_recurring_period_daily').checked) {
|
|
return 'daily';
|
|
}
|
|
else if ($('recurring_todo_recurring_period_weekly').checked) {
|
|
return 'weekly';
|
|
}
|
|
else if ($('recurring_todo_recurring_period_monthly').checked) {
|
|
return 'monthly';
|
|
}
|
|
else if ($('recurring_todo_recurring_period_yearly').checked) {
|
|
return 'yearly';
|
|
}
|
|
else {
|
|
return 'no period'
|
|
}
|
|
},
|
|
get_edit_period: function() {
|
|
if ($('recurring_edit_todo_recurring_period_daily').checked) {
|
|
return 'daily';
|
|
}
|
|
else if ($('recurring_edit_todo_recurring_period_weekly').checked) {
|
|
return 'weekly';
|
|
}
|
|
else if ($('recurring_edit_todo_recurring_period_monthly').checked) {
|
|
return 'monthly';
|
|
}
|
|
else if ($('recurring_edit_todo_recurring_period_yearly').checked) {
|
|
return 'yearly';
|
|
}
|
|
else {
|
|
return 'no period'
|
|
}
|
|
},
|
|
hide_all_recurring: function () {
|
|
$('recurring_daily').hide();
|
|
$('recurring_weekly').hide();
|
|
$('recurring_monthly').hide();
|
|
$('recurring_yearly').hide();
|
|
},
|
|
hide_all_edit_recurring: function () {
|
|
$('recurring_edit_daily').hide();
|
|
$('recurring_edit_weekly').hide();
|
|
$('recurring_edit_monthly').hide();
|
|
$('recurring_edit_yearly').hide();
|
|
},
|
|
toggle_overlay: function () {
|
|
el = document.getElementById("overlay");
|
|
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
|
|
}
|
|
}
|
|
|
|
var TodoBehavior = {
|
|
enableToggleNotes: function() {
|
|
jQuery(".show_notes").unbind('click').bind('click', function () {
|
|
jQuery(this).next().toggle("fast"); return false;
|
|
});
|
|
}
|
|
}
|
|
|
|
/****************************************
|
|
* Unobtrusive jQuery written by Eric Allen
|
|
****************************************/
|
|
|
|
/* Set up authenticity token proplery */
|
|
$(document).ajaxSend(function(event, request, settings) {
|
|
if ( settings.type == 'POST' ) {
|
|
settings.data = (settings.data ? settings.data + "&" : "")
|
|
+ "authenticity_token=" + encodeURIComponent( AUTH_TOKEN ) + "&"
|
|
+ "_source_view=" + encodeURIComponent( SOURCE_VIEW );
|
|
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
|
}
|
|
request.setRequestHeader("Accept", "text/javascript");
|
|
});
|
|
|
|
function toggle_star_remote(ev){
|
|
ev.preventDefault();
|
|
$.post(this.href, {_method: 'put'}, null, 'script');
|
|
}
|
|
|
|
function toggle_checkbox_remote(ev){
|
|
params = {_method: 'put'};
|
|
if(typeof(TAG_NAME) !== 'undefined')
|
|
params._tag_name = TAG_NAME;
|
|
$.post(this.value, params, null, 'script');
|
|
}
|
|
|
|
function set_behavior_for_tag_edit_todo(){
|
|
/*
|
|
apply_behavior 'form.edit_todo_form', make_remote_form(
|
|
:method => :put,
|
|
:before => "todoSpinner = this.down('button.positive'); todoSpinner.startWaiting()",
|
|
:loaded => "todoSpinner.stopWaiting()",
|
|
:condition => "!(this.down('button.positive').isWaiting())"),
|
|
:prevent_default => true
|
|
*/
|
|
}
|
|
|
|
function setup_container_toggles(){
|
|
// bind handlers
|
|
// set to cookied state
|
|
}
|
|
|
|
/* Unobtrusive jQuery behavior */
|
|
|
|
$(document).ready(function() {
|
|
/* fade flashes automatically */
|
|
$(".alert").fadeIn(8000);
|
|
|
|
/* set behavior for star icon */
|
|
$(".item-container a.star_item").
|
|
live('click', toggle_star_remote);
|
|
|
|
/* set behavior for toggle checkboxes */
|
|
$(".item-container input.item-checkbox").
|
|
live('click', toggle_checkbox_remote);
|
|
|
|
setup_container_toggles();
|
|
});
|