]> lifelog.hopto.org Git - LifeLog.git/commitdiff
dev. and fixes. rtf button on log entries.
authorMetabox <redacted>
Sat, 3 Aug 2019 18:21:35 +0000 (04:21 +1000)
committerMetabox <redacted>
Sat, 3 Aug 2019 18:21:35 +0000 (04:21 +1000)
htdocs/cgi-bin/main.cgi
htdocs/cgi-bin/wsrc/main.css
htdocs/cgi-bin/wsrc/main.js

index e27ac2b30774f7cd8bb74b9556f797c723905304..e6a5e17cb00a05bfd10a799699bcf13d10a1264c 100755 (executable)
@@ -81,16 +81,27 @@ my $rs_page     = $cgi->param('rs_page');
 my $stmS        = "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT from LOG WHERE";
 my $stmE        = " ORDER BY DATE DESC;";
 my $stmD        = "";
-if ( !$rs_dat_to ) {
-      $rs_dat_to = 'now';
+my $sm_reset_all;
+
+
+my $lang  = Date::Language->new($LANGUAGE);
+my $today = DateTime->now;
+$today->set_time_zone($TIME_ZONE);
+
+
+
+if ( !$rs_dat_to && $rs_dat_from ) {
+      my $dur = $today;
+      $dur->add(months => 1);
+      $rs_dat_to = DateTime::Format::SQLite->parse_datetime( $dur );
 }
 
 if ( $rs_dat_from && $rs_dat_to ) {
      $stmD =qq( DATE BETWEEN date('$rs_dat_from') AND date('$rs_dat_to') );
 }
-
+#Toggle if search deployed.
 my $toggle = "";
-if ( $rs_keys || $rs_cat_idx || $stmD ) { $toggle = 1; }
+if ( $rs_keys || $rs_cat_idx || $stmD || $prm_vc > 0) { $toggle = 1; }
 
 $session->expire($SESSN_EXPR);
 
@@ -163,10 +174,6 @@ print $cgi->start_html(
 
 my $rv;
 my $st;
-my $lang  = Date::Language->new($LANGUAGE);
-my $today = DateTime->now;
-$today->set_time_zone($TIME_ZONE);
-
 my $stmtCat = "SELECT * FROM CAT;";
 my $stmt =
 "SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT, RTF FROM LOG ORDER BY DATE DESC, rowid DESC;";
@@ -188,42 +195,22 @@ $cats_v =~ s/\"ec\"/\"vc\"/g;
 
 while ( my @row = $st->fetchrow_array() ) {
       if ( $row[0] == $c_sel ) {
-          $cats =
-              $cats
-            . '<option selected value="'
-            . $row[0] . '">'
-            . $row[1]
-            . '</option>\n';
+          $cats .= '<option selected value="'. $row[0] . '">'. $row[1]. '</option>\n';
       }
       else {
-          $cats =
-              $cats
-            . '<option value="'
-            . $row[0] . '">'
-            . $row[1]
-            . '</option>\n';
+          $cats .= '<option value="'. $row[0] . '">'. $row[1]. '</option>\n';
       }
       if ( $row[0] == $prm_vc ) {
-          $cats_v =
-              $cats_v
-            . '<option selected value="'
-            . $row[0] . '">'
-            . $row[1]
-            . '</option>\n';
+          $cats_v .= '<option selected value="'. $row[0] . '">'. $row[1]. '</option>\n';
       }
       else {
-          $cats_v =
-              $cats_v
-            . '<option value="'
-            . $row[0] . '">'
-            . $row[1]
-            . '</option>\n';
+          $cats_v .= '<option value="'. $row[0] . '">'. $row[1]. '</option>\n';
       }
       $hshCats{ $row[0] } = $row[1];
       $desc{ $row[0] }    = $row[2];
 }
 
-$cats = $cats . '</select>';
+$cats .= '</select>';
 
 my $cat_descriptions = "";
 for my $key ( keys %desc ) {
@@ -245,10 +232,10 @@ qq(<form id="frm_log" action="remove.cgi" onSubmit="return formDelValidation();"
 </tr>);
 
 if (defined $prm_vc) {    #view category form selection
-      $rs_cat_idx = $prm_vc;
+    $rs_cat_idx = $prm_vc;
 }
 
-if ($rs_keys) {
+if ($rs_keys && $rs_keys ne '*') {
 
       my @keywords = split / /, $rs_keys;
       if ($rs_cat_idx) {
@@ -331,6 +318,7 @@ while ( my @row = $st->fetchrow_array() ) {
       my $log = $row[3];
       my $am = &cam($row[4]);
       my $rtf = $row[5];
+
       if($ct eq 'Expense'){
          $exp += $row[4];
       }else{
@@ -519,6 +507,9 @@ while ( my @row = $st->fetchrow_array() ) {
           $dtf = $lang->time2str( "%d %b %Y", $dt->epoch, $TIME_ZONE);
       }
 
+      if($rtf > 0){
+         $log .= qq(<hr><button id="btnRTF" onClick="return loadRTF(true, $id);">Show Document</button>);
+      }
 
       $tbl .= qq(<tr class="r$tfId">
                <td width="15%">$dtf<input id="y$id" type="hidden" value="$dty"/></td>
@@ -600,7 +591,7 @@ if ( $tbl_rc == 0 ) {
 }
 
 $tbl .=
-qq(<tr class="r0"><td colspan="2">[Show All -> <a id="menu_close" href="#" onclick="return showAll();"><span  class="ui-icon ui-icon-heart"></span></a>]
+qq(<tr class="r0"><td colspan="2">[Show Again The Hidden By -> <a id="menu_close" href="#" onclick="return showAll();"><span  class="ui-icon ui-icon-heart"></span></a>]
 <a href="#top">&#x219F;</a></td>
 <td colspan="4" align="right"> 
     <input type="hidden" name="datediff" id="datediff" value="0"/>
@@ -617,10 +608,10 @@ qq(<tr class="r0"><td colspan="2">[Show All -> <a id="menu_close" href="#" oncli
     <td><input type="submit" value="Search"/></td></tr>
 </form>
 </TABLE>);
-my $COLLAPSED_LOG = 's';
+
 my ($sp1,$sp2);
 $sp1 =   '<span  class="ui-icon ui-icon-heart" style="float:right;"></span>';
-$sp2 = qq(<span  class="ui-icon ui-icon-circle-triangle-$COLLAPSED_LOG" style="float:right;"></span>);
+$sp2 = qq(<span  class="ui-icon ui-icon-circle-triangle-s" style="float:right;"></span>);
 
 
 my $frm = qq(<a name="top"></a>
@@ -654,7 +645,7 @@ my $frm = qq(<a name="top"></a>
                </td>
                <td align="right">                        
                                <div style="float: right;"><button id="btn_srch" onclick="toggleSearch(); return false;">Show Search</button>&nbsp;
-                               <input id="log_submit" type="submit" onclick="saveRTF(0, 'store');" value="Submit"/></div>
+                               <input id="log_submit" type="submit" onclick="saveRTF(-1, 'store');" value="Submit"/></div>
                </td>           
        </tr>
        <tr class="collpsd"><td colspan="3"></td></tr>
@@ -688,8 +679,8 @@ qq(<tr class="collpsd"><td align="right"><b>View by Category:</b></td>
    </tr>
    <tr class="collpsd"><td align="right"><b>View by Date:</b></td>
        <td align="left">
-       From:&nbsp;<input name="v_from" type="text" size="16"/></td><td align="left">
-       To:&nbsp;<input name="v_to" type="text" size="16"/>
+       From:&nbsp;<input name="v_from" type="text" size="16" value="$rs_dat_from"/></td><td align="left">
+       To:&nbsp;<input name="v_to" type="text" size="16" value="$rs_dat_to"/>
        <td align="left"><button id="btn_dat" onclick="viewByDate(this);">View</button></td>
        </tr>
    <tr class="collpsd"><td align="right"><b>Keywords:</b></td>
@@ -697,16 +688,20 @@ qq(<tr class="collpsd"><td align="right"><b>View by Category:</b></td>
                                        <input id="rs_keys" name="keywords" type="text" size="60" value="$rs_keys"/></td>
                                <td align="left"><input type="submit" value="Search" align="left"></td></tr>);
 
-if ( $rs_keys || $rs_cat_idx || $stmD ) {
+
+if ( ($rs_keys && $rs_keys ne '*') || $rs_cat_idx || $stmD ) {
+      $sm_reset_all = '<a class="a_" onclick="resetView();">Reset View</a><hr>';
       $srh .= '<tr class="collpsd"><td align="left" colspan="3"></td>
-       <td><button onClick="resetView()" stule="align:left">Reset Whole View</button></td></tr>';
+       <td align="left"><button onClick="resetView()">Reset Whole View</button></td></tr>';
 }
 
 $srh .= '</table></form>';
 my $quill = &quill($cgi->param('submit_is_edit'));
+
 #
 #Page printout from here!
 #
+
 print qq(<div id="menu" title="To close this menu click on its heart, and wait.">
 <div class="hdr" style="marging=0;padding:0px;">
 <a id="to_top" href="#top" title="Go to top of page."><span class="ui-icon ui-icon-arrowthick-1-n"></span></a>&nbsp;
@@ -719,6 +714,7 @@ print qq(<div id="menu" title="To close this menu click on its heart, and wait."
 <a class="a_" onclick="deleteSelected(); return false;">Delete</a><hr>
 <a class="a_" onclick="toggleSearch(this); return false;">Search</a><hr>
 <a class="a_" onclick="showAll(); return false;">Show All <span  class="ui-icon ui-icon-heart"></a><hr>
+$sm_reset_all
 <br>
 <a class="a_" href="login_ctr.cgi?logout=bye">LOGOUT</a>
 </div>
@@ -775,7 +771,7 @@ sub processSubmit {
       my $edit_mode = $cgi->param('submit_is_edit');
       my $view_mode = $cgi->param('submit_is_view');
       my $view_all  = $cgi->param('rs_all');
-      my $is_rtf       = $cgi->param('rtf');
+      my $is_rtf    = $cgi->param('rtf');
       my $rtf = 0;
          $rtf = 1 if $is_rtf=="on";
 
@@ -796,6 +792,8 @@ sub processSubmit {
                 . $log
                 . "', AMMOUNT='"
                 . $am
+                . "', RTF='"
+                . $rtf
                 . "' WHERE rowid="
                 . $edit_mode . ";";
               my $st = $db->prepare($stm);
@@ -822,7 +820,7 @@ sub processSubmit {
                   }
 
                   $stmt =
-'SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT from LOG where rowid <= "'
+'SELECT rowid, ID_CAT, DATE, LOG, AMMOUNT, RTF from LOG where rowid <= "'
                     . $rs_cur
                     . '" ORDER BY DATE DESC;'
                     . $rs_page;
index bf2b2a6423e7e8b8fe017258106161f9bd6380d5..01b2f68714d26db65532f80ca972bf16cb2b8631 100644 (file)
@@ -217,4 +217,8 @@ img {
 .save_button {
     margin-top: 3px;
     float: right;
+}
+
+#btnRTF {
+    float: right;
 }
\ No newline at end of file
index e66abd66528b7a1b9a1284c520fd55150d180797..49d9633071b1267570e58fad967178352dc76547 100644 (file)
@@ -14,7 +14,7 @@ var CHANGE;
 
 var _collpsd_toggle = false;
 var _collpsd_toggle2 = false;
-var _doc_toggle = false;
+
 
 function loadedBody(toggle) {
 
@@ -269,6 +269,15 @@ function edit(row) {
     var ea_v = $("#a" + row); //amount
     var tag = $("#g" + row); //orig. tagged log text.
     var log = $("#v" + row); //log
+    var rtf = $("#r" + row); //RTF doc
+    var isRTF = (rtf.val()>0?true:false);
+    if(!isRTF){
+            $('#rtf_doc').hide();
+            $('#tbl_doc').hide();
+            $('#toolbar-container').hide();
+    }
+
+
     $("html, body").animate({ scrollTop: 0 }, "slow");
     if (tag.length) {
         $("#el").val(decodeToHTMLText(tag.val()));
@@ -278,6 +287,11 @@ function edit(row) {
     }
     $("#ed").val(ed_v.val() + " " + et_v.html());
     $("#am").val(ea_v.html());
+    $("#RTF").prop('checked', isRTF);
+
+    if(isRTF){
+        loadRTF(false, row);
+    }
 
     //Select category
     var ec_v = $("#c" + row).text();
@@ -289,7 +303,6 @@ function edit(row) {
 }
 
 
-
 function selectAllLogs() {
     var chks = document.getElementsByName("chk");
     for (var i = 0, n = chks.length; i < n; i++) {
@@ -374,11 +387,6 @@ function toggleDocument() {
 
 }
 
-function saveRTF() {
-    if (RTF_SET) {
-        $.post('json.pl?m=1', { doc: JSON.stringify(QUILL.getContents()) });
-    }
-}
 
 function toggleSearch() {
     $("html, body").animate({ scrollTop: 0 }, "slow");
@@ -394,10 +402,11 @@ function toggleSearch() {
 }
 
 function resetView() {
-    var f = $("#frm_srch");
-    f.keywords.value = "";
-    $("#idx_cat").value(0);
+    $("#frm_srch input").val("");    
+    $("#idx_cat").val(0);
     $('#vc>option[value="0"]').prop('selected', true);
+
+    $("#frm_srch").submit();
 }
 
 function updateSelCategory(sel) {
@@ -416,13 +425,7 @@ function toggleVisibility(target, ensureOff) {
 }
 
 function toggleDoc() {
-    if (!_collpsd_toggle) {
-        $("#rtf_doc").hide();
-        _doc_toggle = true;
-    } else {
-        $("#rtf_doc").show();
-        _doc_toggle = false;
-    }
+    $("#rtf_doc").toggle();
 }
 
 function toggleLog() {
@@ -455,7 +458,6 @@ function showAll() {
     $("#div_log").show();
     $("#div_srh").show();
     $("#tbl_doc").show();
-    _doc_toggle = false;
     _collpsd_toggle = false;
     _collpsd_toggle2 = false;
     $("#btn_srch").text("Hide Search");
@@ -517,10 +519,12 @@ function sumSelected() {
 
 function saveRTF(id, action) {
     // alert(JSON.stringify(QUILL.getContents()));
-    //Disabled on new log entry. Save and edit, obtains id. For now. @2019-07-20
-    //if (id > 0) {
-    $.post('json.cgi', {action:action, id:id, doc: JSON.stringify(QUILL.getContents()) }, saveRTFResult);
-    //}
+    
+    if (id == -1) {
+        id = $("#submit_is_edit").val(); 
+    }
+    $.post('json.cgi', {action:'store', id:id, doc: JSON.stringify(QUILL.getContents()) }, saveRTFResult);
+    
 }
 
 function saveRTFResult(result) {
@@ -528,4 +532,26 @@ function saveRTFResult(result) {
     console.log("Result->" + result);
     var obj = JSON.parse(result);
     alert(obj.response);
+}
+
+function loadRTF(showFullPage, id){ 
+    $.post('json.cgi', {action:'load', id:id}, loadRTFResult);
+    if(showFullPage){
+        //show under entry the document
+    }
+
+    //var json = "[{'insert': 'Loading Document...', 'attributes': { 'bold': true }}, {'insert': '\n'}]";    
+    QUILL.setText('Loading Document...\n');
+    $("#rtf_doc").show();
+    $('#tbl_doc').show();
+    $('#toolbar-container').show();
+    
+    return false;
+}
+
+function loadRTFResult(result) {
+    console.log("Result->" + result);
+    var obj = JSON.parse(result);
+    QUILL.setContents(obj);
+    //alert(obj.response);
 }
\ No newline at end of file