/* * Copyright (c) 2011, salesforce.com, inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided * that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, this list of conditions and the * following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and * the following disclaimer in the documentation and/or other materials provided with the distribution. * * Neither the name of salesforce.com, inc. nor the names of its contributors may be used to endorse or * promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * This is a simple jQuery Mobile-based app that uses the Force.com REST API. * See mobile.page for code required to run this in Visualforce * See mobile.html for code required to run this on your own server */ function errorCallback(jqXHR){ alert(jqXHR.statusText + ": " + jqXHR.responseText); } function addClickListeners() { $('#newbtn').click(function(e) { // Show the 'New Account' form e.preventDefault(); $('#accountform')[0].reset(); $('#accformheader').text('New Account'); setButtonText('#actionbtn', 'Create'); $('#actionbtn').unbind('click.btn').bind('click.btn', createHandler); $.mobile.changePage('#editpage', "slide", false, true); }); $('#deletebtn').click(function(e) { // Delete the account e.preventDefault(); $.mobile.loading('show'); client.del('Account', $('#accountdetail').find('#Id').val() , function(response) { getAccounts(function() { $.mobile.loading('hide'); $.mobile.changePage('#mainpage', "slide", true, true); }); }, errorCallback); }); $('#editbtn').click(function(e) { // Get account fields and show the 'Edit Account' form e.preventDefault(); $.mobile.loading('show'); client.retrieve("Account", $('#accountdetail').find('#Id').val() , "Name,Id,Industry,TickerSymbol", function(response) { $('#accountform').find('input').each(function() { $(this).val(response[$(this).attr("name")]); }); $('#accformheader').text('Edit Account'); setButtonText('#actionbtn', 'Update'); $('#actionbtn') .unbind('click.btn') .bind('click.btn', updateHandler); $.mobile.loading('hide'); $.mobile.changePage('#editpage', "slide", false, true); }, errorCallback); }); } // Populate the account list and set up click handling function getAccounts(callback) { $('#accountlist').empty(); client.query("SELECT Id, Name FROM Account ORDER BY Name LIMIT 20" , function(response) { $.each(response.records, function() { var id = this.Id; $('