#Set to 1 to get debug help. Switch off with 0.
my $DEBUG = Settings::debug();
#END OF SETTINGS
-
+my $rtf_buffer = 0;
my $BUFFER;
sub toBuf {
$BUFFER .= shift;
<tr class="r0" id="brw_row"><td colspan="2" style="font-size:small;text-align:left;">Show All hidden ➔
<a id="menu_close" href="#" onclick="return showAll();"><span class="ui-icon ui-icon-heart" style="float:none;"></span></a>
-<a href="#top">↟</a></td>
+<a id="to_bottom" href="#top" title="Go to top of page.">↥</a></td>
<td colspan="4" align="right" style="margin:5px;">
<input type="hidden" name="opr" id="opr" value="0"/>
<input type="submit" value="Sum" onclick="return sumSelected()"/>
<input type="submit" value="Print" onclick="return viewSelected()"/>
<input id="del_sel" type="submit" value="Delete" onclick="display('Please Wait!')"/>
</span>
-
</td></tr>
</TABLE></FORM>
_TXT
my $frm = qq(<a name="top"></a>
<form id="frm_entry" action="main.cgi" onSubmit="return formValidation();">
<table class="tbl" border="0" width=").&Settings::pagePrcWidth.qq(%">
- <tr class="r0"><td colspan="3"><b>* LOG ENTRY FORM *</b>
- <a id="log_close" href="#" onclick="return hide('#div_log');">$sp1</a>
- <a id="log_close" href="#" onclick="return toggle('#div_log .collpsd');">$sp2</a>
+ <tr class="r0">
+ <td style="text-align:left;"><a id="to_bottom" href="#bottom" title="Go to bottom of page.">↧</a></td>
+ <td colspan="2"><b>* LOG ENTRY FORM *</b>
+ <a id="log_close" href="#" onclick="return hide('#div_log');">$sp1</a>
+ <a id="log_close" href="#" onclick="return toggle('#div_log .collpsd');">$sp2</a>
</td></tr>
<tr class="collpsd">
<td style="text-align:right; vertical-align:top; width:10%;">Date:</td>
<button type="button" onclick="return setNow();">Now</button>
<button type="reset" onclick="setNow();resetDoc(); return true;">Reset</button>
-
<span id="cat_desc" name="cat_desc">Enter log...</span>
-
Category:
<textarea id="el" name="log" rows="3" style="float:left; width:99%;" onChange="toggleVisibility('cat_desc',true)"></textarea>
</td>
</tr>
- <tr class="collpsd"><td style="text-align:right"><a id="to_bottom" href="#bottom" title="Go to bottom of page.">↡</a> Amount:</td>
+ <tr class="collpsd" style="text-align:right; vertical-align:top;">
+ <td>Amount:</td></span>
<td id="al">
<input id="am" name="am" type="text">
Marks as:
<option value="1">Income</option>
<option value="2">Expense</option>
</select>
- RTF Attach <input id="RTF" name="rtf" type="checkbox" onclick="return toggleDoc(true);"/>
- Sticky <input id="STICKY" name="sticky" type="checkbox"/>
+ <span style="padding:5px; marging:10px; display:inline-block;">
+ <span>
+ RTF Attach <input id="RTF" name="rtf" type="checkbox" onclick="return toggleDoc(true);"/></span>
+ <span>
+ Sticky <input id="STICKY" name="sticky" type="checkbox"/>
+ </span>
+ </span>
</td>
<td align="right">
<span id="sss_status"></span>
- <input id="log_submit" type="submit" onclick="return saveRTF(-1, 'store');" value="Submit"/>
+ <span style="padding:5px; marging:10px; display:inline-block;">
+ <input id="log_submit" type="submit" onclick="return saveRTF(-1, 'store');" value="Submit"/>
+ </span>
</td>
</tr>
<tr class="collpsd"><td colspan="3"></td></tr>
<input type="hidden" name="rs_page" value="$rs_page"/>
<input type="hidden" name="CGISESSID" value="$sid"/>
<input type="hidden" id="isInViewMode" value="$isInViewMode"/>
+ <input type="hidden" id="rtf_buffer" value="$rtf_buffer"/>
$tags
</form>
);
my $sticky = $cgi->param('sticky');
my $stm;
my $SQLID = 'rowid';
+ my @gzero;
if($rtf eq 'on'){$rtf = 1} else {$rtf = 0}
if($sticky eq 'on'){$sticky = 1} else {$sticky = 0}
}
Settings::renumerate($db) if ( $dtCur > $dt );
}
+ if(!@gzero){$st = traceDBExe('SELECT DOC FROM NOTES WHERE LID = 0;');@gzero = $st->fetchrow_array()}
+ $rtf_buffer = 1 if $gzero[0];
}
catch {
</div>
<div id="editor-container" style="$height"></div>
<div class="save_button">
- <input type="button" id="btn_save_doc" onclick="saveRTF(0, 'store'); return false;" value="Save"/>
+ <input type="button" id="btn_zero_doc" onclick="loadRTF(false, 0); return false;" value="Load Buffered"/>
+ <input type="button" id="btn_load_doc" onclick="loadRTF(false, -1); return false;" value="Load"/>
+ <input type="button" id="btn_save_doc" onclick="saveRTF(0, 'store'); return false;" value="Save"/>
</div>
</td></tr></table>
)}
var RTF_DOC_RESIZED = false;
var RTF_DOC_ORIG;
+var RTF_DOC_CUR_ID;
var TIME_STAMP;
var LOCALE;
var TIMEZONE;
function onBodyLoadGeneric() {
$("input[type=submit], input[type=reset], .ui-widget-content, button, .a_").button();
$("#btn_save_doc").button();
+ $("#btn_zero_doc").button(); if($("rtf_buffer").val()==0){$("#btn_zero_doc").hide()};
+ $("#btn_load_doc").button(); $("#btn_load_doc").hide();
if(!LOCALE || LOCALE==="English"){
LOCALE = "en-US";
}
source: AUTOWORDS
});
});
-
display("Log page is ready!");
}
if(isRTF){
display("Loading RTF: "+ ed_v.val() );
+ RTF_DOC_CUR_ID = row;
loadRTF(false, row);
- }else{display("Editing: "+ ed_v.val(),3);}
+ }else{
+ display("Editing: "+ ed_v.val(),3);
+ RTF_DOC_CUR_ID = 0;
+ }
//Select category
var ec_lb = $("#c" + row).text();
}
function resetDoc(){
- if (RTF_SET) {
- QUILL.setText("");
- }
+ if (RTF_SET) { QUILL.setText(""); }
$("#submit_is_edit").val("0");
toggleDoc(true);
+ $('#btn_load_doc').hide();
}
function saveRTF(id, action) {
// alert(JSON.stringify(QUILL.getContents()));
- //Strip ammount to show plain number.
+ //Strip amount to show plain number.
var am = $("#am").val().trim();
am = am.replace(/[^\d\.]/g,"");
$("#am").val(am);
}
RTF_SUBMIT = true;
var bg = $("#fldBG").val();
- $.post('json.cgi', {action:'store', id:id, bg:bg, doc: JSON.stringify(QUILL.getContents())},saveRTFResult).fail(
- function(response) {dialogModal("Server Error: "+response.status,response.responseText);});
- if(is_submit){
- //we must wait before submitting actual form!
+ $.post('json.cgi', {action:'store', id:id, bg:bg, doc: JSON.stringify(
+ QUILL.getContents())},saveRTFResult).fail(
+ function(response) {dialogModal("Server Error: "+response.status,response.responseText);}
+ );
+ if(is_submit){
$("#idx_cat").value = "SAVING DOCUMENT...";
$("#idx_cat").show();
+ //we must wait before submitting actual form!
setTimeout(delayedSubmit, 200);
}
return false;
}
function saveRTFResult(result) {
- console.log("Result->" + result);
- var obj = JSON.parse(result);
- //alert(obj.response);
+ //console.log("Result->" + result);
+ var json = JSON.parse(result);
$("html, body").animate({ scrollTop: 0 }, "fast");
- display(obj.response);
- if(obj.log_id>0){
+
+ let msg = json.response;
+ if(json.log_id==0){
+ console.log(msg = "Saved to Buffer");
+
+ }else{
+ console.log(msg = "Saved document by lid -> "+json.log_id);
+ }
+ display(msg, 5);
+
+ if(json.log_id>0){
//update under log display
- if($("#q-rtf"+obj.log_id).is(":visible")){
- loadRTF(true, obj.log_id);
+ if($("#q-rtf"+json.log_id).is(":visible")){
+ loadRTF(true, json.log_id);
}
+ }else{
+ $('#btn_zero_doc').show();
}
RTF_SUBMIT = false;
}
//show under log entry the document
if(under){
-
if($("#q-rtf"+id).is(":visible")){
$("#q-rtf"+id).hide();
return false;
}
-
-
QUILL_PNL = new Quill('#q-container'+id, {
scrollingContainer: '#q-scroll'+id,
placeholder: 'Loading Document...',
return false;
}
- //var json = "[{'insert': 'Loading Document...', 'attributes': { 'bold': true }}, {'insert': '\n'}]";
- //console.log("Query json.cgi action -> load, id:" + id);
+ if(id==-1){
+ id = RTF_DOC_CUR_ID; // btn_load_rtf clicked
+ }
+
QUILL.setText('Loading Document...\n');
$.post('json.cgi', {action:'load', id:id}, loadRTFResult).fail(
function(response) {dialogModal("Server Error: "+response.status,response.responseText);}
}
function loadRTFResult(content, result, prms, quill) {
- //console.log("Result->" + content);
+
var json = JSON.parse(content);
if(!quill)quill=QUILL;
var css = $("#q-scroll"+id).prop('style');
if(css){css.backgroundColor = json.content.bg;}
}
- display(json.response, 5);
- //alert(obj.response);
+
+ let msg = json.response;
+ if(json.log_id==0){
+ console.log(msg = "Loaded in Buffer");
+ $('#btn_zero_doc').show();
+ }else{
+ console.log(msg = "Loaded in document by lid -> "+json.log_id);
+ $('#btn_load_doc').show();
+ }
+ display(msg, 5);
}