]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/Home/Dashlets/JotPadDashlet/JotPadDashletScript.tpl
Release 6.5.0
[Github/sugarcrm.git] / modules / Home / Dashlets / JotPadDashlet / JotPadDashletScript.tpl
1 {*
2
3 /*********************************************************************************
4  * SugarCRM Community Edition is a customer relationship management program developed by
5  * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
6  * 
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.
13  * 
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
17  * details.
18  * 
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
22  * 02110-1301 USA.
23  * 
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.
26  * 
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.
30  * 
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  ********************************************************************************/
37
38
39
40
41 *}
42
43
44 {literal}<script>
45 if(typeof JotPad == 'undefined') { // since the dashlet can be included multiple times a page, don't redefine these functions
46         JotPad = function() {
47             return {
48                 /**
49                  * Called when the textarea is blurred
50                  */
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=YAHOO.lang.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);
58                 },
59                     /**
60                  * Called when the textarea is double clicked on
61                  */
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(/&amp;/, "&");
67                                 divObj.style.display = 'none';
68                                 ta.style.display = '';
69                                 ta.focus();
70                         },
71                     /**
72                  * handle the response of the saveText method
73                  */
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'];
81                                 }
82                                 ta.style.display = 'none';
83                                 theDiv.style.display = '';
84                         window.setTimeout('ajaxStatus.hideStatus()', 2000);
85                 }
86             };
87         }();
88 }
89 </script>{/literal}