$(document).ready(function(){ $("#login-dialog").dialog({ autoOpen: false, height: 300, width: 300, modal: true, buttons: { Login: function(){login()} } }); $.ajax({ url: "/ts_api/users/", type: "GET", error: function(jqXHR, textStatus, error) { $("#login-dialog").dialog("open"); }, success: function(data, textStatus, jqXHR) { loadUser(data.user.username); }}); }) var user = [] var timelines = [] var activeTimeline = [] function login() { var name = $("#login-name"); var pwd = $("#login-password"); $.ajax({ url: "/ts_api/login", processData: false, data: JSON.stringify({username: name.val(), password: pwd.val()}), type: "POST", error: function(jqXHR, textStatus, error) { var tips = $(".validate-tips"); tips.text("Incorrect username/password combination."); tips.addClass("ui-state-error"); tips.slideDown(); }, success: function(data, textStatus, jqXHR) { loadUser(name.val()); $("#login-dialog").dialog("close"); }}); } function logout(event) { alert("TODO: log user out via AJAX."); event.preventDefault(); } function loadUser(username) { $.ajax({ url: "/ts_api/app/user_summary/" + username, type: "GET", success: function(data, textStatus, jqXHR) { user = data.user; timelines = data.timelines; $("#fullname").text(user.name); $("#username").text("- " + user.username); // TODO: not working $("#fullname-input").text(user.name); $("#email-input").text(user.email); activeTimeline = timelines[0]; $("#timeline-name").text(activeTimeline.timeline_id + " |"); $("#timeline-desc").text(activeTimeline.description); loadTimeline(user, activeTimeline) }, error: function(jqXHR, textStatus, error) { alert("TODO: handle error for user load.") } }); } function loadTimeline(user, timeline) { $.ajax({ url: "/ts_api/entries/" + user.username + "/" + timeline.timeline_id, type: "GET", success: function(data, textStatus, jqXHR) { } }); } function toggleUserInfo(event) { $("#user-info").slideToggle("slow"); event.preventDefault(); } function showChangePwd(event) { $("#change-pwd").slideToggle("slow"); } function updateUser(event) { alert("TODO: update user via AJAX."); event.preventDefault(); } function toggleTimelineInfo(event) { $("#timeline-info").slideToggle("slow"); event.preventDefault(); } function showTimelineMenu(event) { alert("TODO: show other timelines via a popup menu"); event.preventDefault(); } function updateTimeline(event) { alert("TODO: update timeline via AJAX."); event.preventDefault(); } function showNewNotes(event) { $("#add-notes").slideToggle("slow"); } function newEntry(event) { alert("TODO: create entry vi AJAX"); event.preventDefault(); }