3 /*********************************************************************************
4 * SugarCRM is a customer relationship management program developed by
5 * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU Affero General Public License version 3 as published by the
9 * Free Software Foundation with the addition of the following permission added
10 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
19 * You should have received a copy of the GNU Affero General Public License along with
20 * this program; if not, see http://www.gnu.org/licenses or write to the Free
21 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
24 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
27 * The interactive user interfaces in modified source and object code versions
28 * of this program must display Appropriate Legal Notices, as required under
29 * Section 5 of the GNU Affero General Public License version 3.
31 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32 * these Appropriate Legal Notices must retain the display of the "Powered by
33 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34 * technical reasons, the Appropriate Legal Notices must display the words
35 * "Powered by SugarCRM".
36 ********************************************************************************/
45 if(typeof JotPad == 'undefined') { // since the dashlet can be included multiple times a page, don't redefine these functions
49 * Called when the textarea is blurred
51 blur: function(ta, id) {
52 ajaxStatus.showStatus('{/literal}{$saving}{literal}'); // show that AJAX call is happening
53 // what data to post to the dashlet
54 var va=JSON.stringify(ta.value);
55 postData = 'to_pdf=1&module=Home&action=CallMethodDashlet&method=saveText&id=' + id + '&savedText=' + va;
56 var cObj = YAHOO.util.Connect.asyncRequest('POST','index.php',
57 {success: JotPad.saved, failure: JotPad.saved}, postData);
60 * Called when the textarea is double clicked on
62 edit: function(divObj, id) {
63 ta = document.getElementById('jotpad_textarea_' + id);
64 if(SUGAR.isIE) ta.value = divObj.innerHTML.replace(/<br>/gi, "\n");
65 else ta.value = divObj.innerHTML.replace(/<br>/gi, '');
66 ta.value = ta.value.replace(/&/, "&");
67 divObj.style.display = 'none';
68 ta.style.display = '';
72 * handle the response of the saveText method
74 saved: function(data) {
75 eval(data.responseText);
76 ajaxStatus.showStatus('{/literal}{$saved}{literal}');
77 if(typeof result != 'undefined') {
78 ta = document.getElementById('jotpad_textarea_' + result['id']);
79 theDiv = document.getElementById('jotpad_' + result['id']);
80 theDiv.innerHTML = result['savedText'];
82 ta.style.display = 'none';
83 theDiv.style.display = '';
84 window.setTimeout('ajaxStatus.hideStatus()', 2000);