]> lifelog.hopto.org Git - LifeLog.git/commitdiff
Lot of CSS updates, new RTF handling implemented.
authorwbudic <redacted>
Sun, 15 Aug 2021 06:27:28 +0000 (16:27 +1000)
committerwbudic <redacted>
Sun, 15 Aug 2021 06:27:28 +0000 (16:27 +1000)
Current Development Check List.md
htdocs/cgi-bin/config.cgi
htdocs/cgi-bin/data.cgi
htdocs/cgi-bin/main.cgi
htdocs/cgi-bin/stats.cgi
htdocs/cgi-bin/system/modules/Settings.pm
htdocs/cgi-bin/wsrc/main.css
htdocs/cgi-bin/wsrc/main.js
htdocs/cgi-bin/wsrc/main_earth.css
htdocs/cgi-bin/wsrc/main_moon.css
htdocs/cgi-bin/wsrc/main_sun.css

index 354661344c98b50c50b8a9be73177f750ae54cdd..b73d4e4fd04c314acc10ef3c9f83f3d583b27f2f 100644 (file)
@@ -6,6 +6,8 @@
 
 ### New Development
 
+* Configuration needs to be updated, to use CNF 2.2, for system reset, etc.
+* Fix themes. Themes don't display and set consistently the pages throughout.
 * &#10004; RTF load of the zero document if present. When RTF attaching to a new log, you can save the rtf,
   it is called a zero document (not assigned), as the log hasn't been saved yet. This reload can be useful, as it is always stored...
 * &#10004; Implement backup/restore on Pg based data. Restore only partially works from older backup.
index 525490287046a2f7877488587ecb522e8b9ea244..f07206cedc7dd140443dc4341c6b11fa44647a0b 100755 (executable)
@@ -309,8 +309,6 @@ my  $frmVars = qq(
         </tr>
         </table><input type="hidden" name="sys" value="1"/></form><br>);
 
-
-
 $tbl = qq(<table id="cnf_fix" class="tbl" border="0" width=").&Settings::pagePrcWidth.qq(%">
               <tr class="r0"><td colspan="2"><b>* DATA FIX *</b></td></tr>
              );
@@ -488,8 +486,7 @@ sub getHeader {
 print $cgi->header(-expires=>"+6s", -charset=>"UTF-8");
 print $cgi->start_html(-title => "Personal Log", -BGCOLOR=>&Settings::bgcol,
            -onload  => "onBodyLoadGeneric();",
-            -style   => [
-          { -type => 'text/css', -src => "wsrc/".&Settings::css },
+            -style   => [          
           { -type => 'text/css', -src => 'wsrc/jquery-ui.css' },
           { -type => 'text/css', -src => 'wsrc/jquery-ui.theme.css' },
           {
@@ -501,6 +498,7 @@ print $cgi->start_html(-title => "Personal Log", -BGCOLOR=>&Settings::bgcol,
               -type => 'text/css',
               -src  => 'wsrc/tip-yellowsimple/tip-yellowsimple.css'
           },
+          { -type => 'text/css', -src => "wsrc/".&Settings::css },
       ],
       -script => [
           { -type => 'text/javascript', -src => 'wsrc/main.js' },
@@ -778,9 +776,8 @@ try{
     my @row;
 
         getHeader() if(&Settings::debug);
-        print "<h3>Database Records Fix Result</h3>\n<hr>" if(&Settings::debug);
-        print "<body><pre>Started transaction!\n" if(&Settings::debug);
-
+        print "<h3>Database Records Fix Result</h3>\n<hr>" if &Settings::debug;
+        print "<body><pre>Started transaction!\n" if &Settings::debug;
         $db->do('BEGIN TRANSACTION;');
         # Check for duplicates, which are possible during imports or migration as internal rowid is not primary in log.
         # @TODO This should be selecting an cross SQL compatibe view.
@@ -809,12 +806,12 @@ try{
             my $st_del = $db->prepare($sql);
             $st_del->execute();
         }
-        print "Doing renumerate next...\n" if(&Settings::debug);
+        print "Doing renumerate next...\n" if &Settings::debug;
         &renumerate;
-        print "done!\n";
-        print "Doing removeOldSessions next..." if(&Settings::debug);
+        print "done!\n" if &Settings::debug;
+        print "Doing removeOldSessions next..." if &Settings::debug;
         &Settings::removeOldSessions;
-        print "done!\n " if(&Settings::debug);
+        print "done!\n " if &Settings::debug;
         &resetCategories if $rs_cats;
         &resetSystemConfiguration($db) if $rs_syst;
         &wipeSystemConfiguration if $wipe_ss;
@@ -858,7 +855,7 @@ sub renumerate {
 
     ### RENUMERATE LOG
     $db->do("CREATE TABLE life_log_temp_table AS SELECT * FROM LOG;");
-    if(Settings::isProgressDB()){
+    if(&Settings::isProgressDB){
         $db->do('DROP TABLE LOG CASCADE;');
     }
     else{
@@ -876,7 +873,7 @@ sub renumerate {
         my $old = $notes{$date};
         #my $sql_date = DateTime::Format::SQLite->parse_datetime($date);
         
-        if(Settings::isProgressDB()){
+        if(&Settings::isProgressDB){
             $sql = "SELECT ID FROM LOG WHERE RTF > 0 AND DATE = '".$date."';";
         }else{
             $sql = "SELECT rowid FROM LOG WHERE RTF > 0 AND DATE = '".$date."';";
@@ -928,7 +925,7 @@ sub wipeSystemConfiguration {
 
 sub resetSystemConfiguration {
 
-        open(my $fh, '<', &Settings::logPath.'main.cnf' ) or die "Can't open main.cnf: $!";
+        open(my $fh, '<', &Settings::logPath.'main.cnf') or die "Can't open ".&Settings::logPath."main.cnf! $!";
         my $db = shift;
         my ($id,$name, $value, $desc);
         my $inData = 0;
@@ -963,7 +960,7 @@ try{
                                                                     my @row = $dbs->fetchrow_array();
                                                                     if(scalar @row == 0){
                                                                        #The id in config file has precedence to the one in the db,
-                                                                       #from a ppossible previous version.
+                                                                       #from a possible previous version.
                                                                        $dbs = Settings::selectRecords($db, "SELECT ID FROM CONFIG WHERE ID = $id;");
                                                                        @row = $dbs->fetchrow_array();
                                                                        if(scalar @row == 0){
@@ -997,9 +994,9 @@ try{
                         }
                     }
         }
-        #die "Configuration script './main.cnf' [$fh] contains errors." if $err;
+        die "Configuration script './main.cnf' [$fh] contains errors." if $err;
         close $fh;
-       Settings::getConfiguration($db);
+        Settings::getConfiguration($db);
  } catch{
       close $fh;
       print $cgi->header;
@@ -1060,7 +1057,7 @@ sub backup {
    my @dr = split(':', Settings::dbSrc());
    my $ball = 'bck_'.$today->strftime('%Y%m%d%H%M%S_').$dr[1]."_$dbname.osz";   
 
-   my $file = Settings::logPath().'data_'.$dr[1].'_'."$dbname"."_log.db";
+   my $file = &Settings::logPath.'data_'.$dr[1].'_'."$dbname"."_log.db";
    my $dsn= "DBI:SQLite:dbname=$file";
    my $weProgress = Settings::isProgressDB();
    if($weProgress){
@@ -1096,10 +1093,10 @@ sub backup {
    }
 
     print $cgi->header(-charset=>"UTF-8", -type=>"application/octet-stream", -attachment=>$ball);
-    my $pipe = "tar czf - ".Settings::logPath().'main.cnf' ." ".$file." | openssl enc -e -des-ede3-cfb -salt -S ".
-                            Settings->CIPHER_KEY." -pass pass:$pass-$alias -out ".Settings::logPath().$ball." 2>/dev/null";
+    my $pipe = "tar czf - ".&Settings::logPath.'main.cnf' ." ".$file." | openssl enc -e -des-ede3-cfb -salt -S ".
+                            Settings->CIPHER_KEY." -pass pass:$pass-$alias -out ".&Settings::logPath.$ball." 2>/dev/null";
     my $rez = `$pipe`;       
-       open (my $TAR, "<", Settings::logPath().$ball) or die "Failed creating backup -> $ball";
+       open (my $TAR, "<", &Settings::logPath.$ball) or die "Failed creating backup -> $ball";
             while(<$TAR>){print $_;}
        close $TAR;
     unlink $file if $weProgress;  
@@ -1296,7 +1293,7 @@ my $stdout = capture_stdout {
         print "Restore ended: ".Settings::today(), "\n";
 };      print $stdout;
 
-my $fh; open( $fh, ">>", Settings::logPath()."backup_restore.log");
+my $fh; open( $fh, ">>", &Settings::logPath."backup_restore.log");
         print $fh $stdout;
         close $fh;
 
index dd7506917dbb9166e130030f44126d258f55aa31..a23d0c53a7941c28af4522b4a433a5b608acd328 100755 (executable)
@@ -130,7 +130,7 @@ try{
    print $cgi->redirect('main.cgi');  
 
 }catch{
-    print $cgi->p("<font color=red><b>ERROR</b></font>  " . $@);
+    print $cgi->p("<font color=red><b>ERROR</b>$!</font>  " . $@);
 }
 }
 
@@ -138,13 +138,17 @@ sub printHeader {
 my $title = shift;
 print $cgi->header(-expires=>"+6os");
 print $cgi->start_html(-title => $title, -BGCOLOR => &Settings::bgcol,                
-            -script=> [{-type => 'text/javascript', -src => 'wsrc/main.js'},
-                        {-type => 'text/javascript', -src => 'wsrc/jquery.js'},
-                        {-type => 'text/javascript', -src => 'wsrc/jquery-ui.js'}],                
+            -script=> [ {-type => 'text/javascript', -src => 'wsrc/jquery.js'},
+                        {-type => 'text/javascript', -src => 'wsrc/jquery-ui.js'},
+                        {-type => 'text/javascript', -src => 'wsrc/main.js'}
+                        ],                
             -style => [{-type => 'text/css', -src => "wsrc/".&Settings::css}, {-type => 'text/css', -src => "wsrc/print.css"},
                         {-type => 'text/css', -src => 'wsrc/jquery-ui.css'},
                         {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
-                        {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'}],
+                        {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
+                        { -type => 'text/css', -src => "wsrc/".&Settings::css }
+                        ],
+                        
             -onload => "onBodyLoadGeneric()");
 }
 
index 6edf73ad71ff8e4474360d67326c501dc3002b42..6c0fa7d230a30cd2608f4ccaf1d9ab68a0ac980d 100755 (executable)
@@ -608,7 +608,7 @@ sub buildLog {
         $log =~ s/(^\*)(.*)(\*)(\\n)/<b>$2<\/b><br>/oi;
         #Decode escaped \\n
         $log =~ s/\r\n/<br>/gs;
-        $log =~ s/\\n/<br>/gs;
+        $log =~ s/\\n/<br>\n/gs;
         
         
 
@@ -632,6 +632,14 @@ sub buildLog {
             $log_orig =~ s/\"/&#34;/g;
             $log_orig =~ s/\'/&#39;/g;
             $tags .= qq(<input type="hidden" id="g$id" value="$log_orig"/>\n);
+        }elsif(not &Settings::displayAll){
+            my $h;
+            if($log =~ m/(.*\s*.*?)<br>/){$h=$1}
+            elsif($log =~ m/(\s*.*\n)/) {$h=$1}
+            if($h){
+               $log = $h.qq(<input type="hidden" id="h$id" value="$log"/><button id='btnRTF' onclick="return dispFullLog($id);" 
+                                 class="ui-button ui-corner-all ui-widget"><span>&#8691;<span></button>);
+            }
         }
 
         my ( $dty, $dtf ) = $dt->ymd;
@@ -675,12 +683,12 @@ sub buildLog {
                        <input name="chk" type="checkbox" value="$pid"/>
                </td></tr>)};
 
-        if ( $rtf > 0 ) {
+        if ( $rtf > 0 ) {#max-width:1000px;
+        # style="max-height:480px; box-sizing: border-box; padding: 5px; background:#fffafa; overflow-x:scroll;scrollbar-width:none;"
              $log_output .= qq(<tr id="q-rtf$id" class="r$tfId" style="display:none;">
                          <td colspan="6">
-                          <div id="q-scroll$id" 
-                                style="max-height:480px; max-width:1000px; padding: 5px; background:#fffafa; overflow-x:scroll;scrollbar-width:none;">                            
-                            <div id="q-container$id"></div>
+                          <div id="q-scroll$id" class="ql-editor ql-snow" style="max-height:480px; overflow-x:scroll;">
+                            <div id="q-container$id" class="ql-container ql-snow"></div>
                           </div>
                         </td></tr>);
         }
@@ -1525,8 +1533,7 @@ sub outputPage {
             -title   => "Personal Log",
             -BGCOLOR => $BGCOL,
             -onload  => "onBodyLoad('$toggle','".&Settings::language."','".&Settings::timezone."','$today','".&Settings::sessionExprs."','$rs_cur',".&Settings::dbVLSZ.");",
-            -style   => [
-            { -type => 'text/css', -src => "wsrc/$TH_CSS" },
+            -style   => [            
             { -type => 'text/css', -src => 'wsrc/jquery-ui.css' },
             { -type => 'text/css', -src => 'wsrc/jquery-ui.theme.css' },
             {
@@ -1542,7 +1549,7 @@ sub outputPage {
             { -type => 'text/css', -src => 'wsrc/quill/monokai-sublime.min.css' },
             { -type => 'text/css', -src => 'wsrc/quill/quill.snow.css' },
             { -type => 'text/css', -src => 'wsrc/jquery.sweet-dropdown.css' },
-
+            { -type => 'text/css', -src => "wsrc/$TH_CSS" },
         ],
         -script => [
             { -type => 'text/javascript', -src => 'wsrc/main.js' },
index 39ed1baa488e6da1da898169be637ed45b455ee1..f2cc0e3a14fbc75caca7fa36fb693b225036ccfa 100755 (executable)
@@ -27,18 +27,11 @@ my $sss     = Settings::session();
 my $sid     = Settings::sid(); 
 my $dbname  = Settings::dbFile();
 my $alias   = Settings::alias();
-my $passw   = Settings::pass();
+
 
 if(!$alias||!$dbname){
-    # if (Settings::debug()){
-    #     $alias  ="admin";
-    #     $dbname = "data_admin_log.db";
-    #     $passw  = "admin";
-    # }
-    # else{
         print $cgi->redirect("login_ctr.cgi?CGISESSID=$sid");
         exit;
-    # }
 }
 try{
 
@@ -46,36 +39,36 @@ my $today = Settings->today();
 
 $ENV{'HOME'} = "~/";
 
-my $CSS=<<CSS;
+my $CSS=<<_____CSS;
 .main div {
     font-family: Bookman;
-    text-align: left;
-    vertical-align: left;
+    text-align: left;    
+}
+.spacer {
+        border: 10px;
+        border-left-width:0px;
+
+        margin:5 px;
 }
-.info span{
+.info span {
     border: 1px solid black;
     padding: 5px;
-    margin-top: 5px;
+    margin-top: 1px;
     margin-right: 15px;
     float: left;
     width:98%
 }
-.processes{
-     margin-top: 5px; padding: 5px;
-     border: 1px solid black;
-     float: none;
-}
-CSS
+_____CSS
 
 print $cgi->header(-expires=>"+6os", -charset=>"UTF-8");
 print $cgi->start_html(-title => "Log Data Stats", -BGCOLOR=>Settings::bgcol(),
                        -script=> [{-type => 'text/javascript', -src => 'wsrc/main.js'},
                                   {-type => 'text/javascript', -src => 'wsrc/jquery.js'},
                                   {-type => 'text/javascript', -src => 'wsrc/jquery-ui.js'}],
-                       -style => [{-type => 'text/css', -src => "wsrc/".&Settings::css},
-                                  {-type => 'text/css', -src => 'wsrc/jquery-ui.css'},
+                       -style => [{-type => 'text/css', -src => 'wsrc/jquery-ui.css'},
                                   {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
                                   {-type => 'text/css', -src => 'wsrc/jquery-ui.theme.css'},
+                                  {-type => 'text/css', -src => "wsrc/".Settings::css()},
                                   {-script=>$CSS}
                                  ],
                         -head => style({-type => 'text/css'}, $CSS),
@@ -140,7 +133,7 @@ my $year =$today->year();
 my $IPPublic  = `curl -s https://www.ifconfig.me`;
 my $IPPrivate = `hostname -I`; $IPPrivate =~ s/\s/<br>/g;
 
-my $tbl = qq(<table class="tbl" border="1px"><tr class="r0"><td colspan="5" style="text-align:centered"><b>* Personal Log Data Statistics *</b></td></tr>
+my $tbl = qq(<table class="tbl" border="0" align="left"><tr class="r0"><td colspan="5" style="text-align:centered"><b>* Personal Log Data Statistics *</b></td></tr>
           <tr class="r1"><td>LifeLog App. Version:</td><td>).Settings::release().qq(</td></tr>
              <tr class="r0"><td>Number of Records:</td><td>$log_rc</td></tr>
           <tr class="r1"><td>No. of Records This Year:</td><td>$log_this_year_rc</td></tr>
@@ -154,24 +147,38 @@ my $tbl = qq(<table class="tbl" border="1px"><tr class="r0"><td colspan="5" styl
 </table>);
 
 
-print qq(<div id="menu" title="To close this menu click on its heart, and wait." style="border: 1px solid black;padding: 5px;margin-top: 25px;">
-<a class="a_" href="main.cgi">Log</a><hr>
-<a class="a_" href="config.cgi">Config</a><hr>
-<a class="a_" href="login_ctr.cgi?logout=bye">LOGOUT</a>
+print qq(<div id="menu" title="Menu" style="border: 2px solid black; padding: 5px; margin-top: 25px;">
+<div style="border: 1px solid black; margin: 5px; margin-bottom: 10px; padding:5px;"><b>Menu</b></div>
+<div><a class="a_" href="main.cgi">Log</a><hr></div>
+<div><a class="a_" href="config.cgi">Config</a><hr></div>
+<div><a class="a_" href="login_ctr.cgi?logout=bye">LOGOUT</a></div>
 </div>);
 
 print qq(
 <div class="main">
-    <hr><h2>Life Log Server Statistics</h2><hr>
+
     <div class="info">
-        <span><b>Log Status & Information</b><hr>$tbl</span>
-        <span><b>Server Info</b><hr>$hardware_status</span>       
-    </div><br>
-    <div class="processes" style="float:left;">
-        <b>Server Side Processes</b><hr>
-        <pre>$processes</pre>
+    <span><h3>Life Log Server Statistics</h3></span>
     </div>
 
+    <div class="spacer">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
+    
+    <div class="info">
+        <span><b>Log Status & Information</b></span>
+        <span><p>$tbl</p></span>
+    </div>
+    <div class="spacer">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>    
+    <div class="info">
+        <span><b>Server Info</b></span>
+        <span>$hardware_status</span>       
+    </div>
+    <div class="spacer">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
+    <div class="info">    
+        <span><b>Server Side Processes</b></span>
+        <span class="ql-container ql-snow"  style="max-height:480px; overflow-x:scroll;">
+                <pre class="r1">$processes</pre>
+        </span>
+    </div>
 </div>);
 
 print $cgi->end_html;
index 48b9c57ab640105c7ab64c9bbffbd0f081936dcd..492dcee4ed416e76c818bac87c04acbfa9ccf53c 100644 (file)
@@ -108,7 +108,8 @@ sub anon {$S_=shift; $S_ = $anons{$S_} if $S_;$S_}
 sub anonsSet {my $a = shift;%anons=%{$a}}
 
 sub release        {$RELEASE_VER}
-sub logPath        {$S_ = shift;$LOG_PATH = $S_ if $S_;$LOG_PATH}
+sub logPath        {$LOG_PATH}#<-something was calling as setter, can't replicate. On reset of categories in config.cgi.
+sub logPathSet     {$S_ = shift;$LOG_PATH = $S_ if $S_;return $LOG_PATH}#<-has now setter method nothing actually calls.
 sub theme          {$THEME}                               
 sub timezone       {$TIME_ZONE}
 sub language       {$LANGUAGE}
@@ -152,7 +153,7 @@ try {
     $CGI::POST_MAX = 1024 * 1024 * 5;  # max 5GB file post size limit.
     $cgi     = $cgi = CGI->new();
     $sss     = shift; #shift will only and should, ONLY happen for test scripts.
-    $sss= new CGI::Session("driver:File", $cgi, {Directory=>$LOG_PATH}) if !$sss;
+    $sss= new CGI::Session("driver:File", $cgi, {Directory=>$LOG_PATH, SameSite=>'Lax'}) if !$sss;
     $sid     = $sss->id();    
     $alias   = $sss->param('alias');
     $pass    = $sss->param('passw');
index bb3d495926ed0fc187afb4108d5d47d86a16fdba..65bf0a792ebe0a3e07e4227cb900279c9011c5bd 100644 (file)
@@ -3,11 +3,14 @@ body{
     font-size: 14px;
 }
 p {
-    
+    font-family: Bookman;
     margin-left: 70px;
     font-weight: bold;
 }
-
+pre{
+    color: #d8d8d8;
+    text-align:left;
+}
 table,
 th,
 td {
@@ -24,7 +27,7 @@ div {
 }
 
 #div_log {
-    font-weight: bold; 
+    font-weight: bold;
 }
 #div_srh {
     text-align: center;
@@ -93,12 +96,18 @@ th,
     border-right: 1px solid black;
     vertical-align: top;
 }
+.r0.hover{
+    background-color: #b7f3f3;
+}
 .r1 {
     background-color: #ccffff;
     border: 1px solid black;
     border-right: 1px solid black;
     vertical-align: top;
 }
+.r1.hover{
+    background-color: #b7f3f3;
+}
 .r2 {
     background-color: #ccfff0;
     border: 1px solid black;
@@ -121,7 +130,16 @@ th,
     padding: 2%;
     margin: 0px auto;
 }
-
+div#rz {
+    border: 1px solid black;
+    text-align: left;
+    background-color: #e6ffff;
+    vertical-align: top;
+    align-self: baseline;
+    height: auto;
+    padding: 2px;
+    margin: 0px auto;
+}
 .hdr {
     font-style: normal;
     font-weight: bold;
@@ -173,16 +191,6 @@ th,
     background-color: rgba(0, 0, 0, .5);
 }
 
-div#rz {
-    border: 1px solid black;
-    text-align: left;
-    background-color: #e6ffff;
-    vertical-align: top;
-    align-self: baseline;
-    height: auto;
-    padding: 2px;
-    margin: 0px auto;
-}
 
 #tag_FRM {
     border: 2px solid #94cde7;
@@ -212,9 +220,11 @@ img {
     margin: 0;
 }
 
+
+
 .ui-button,
 .ui-button-text .ui-button {
-    font-size: 12px !important;
+    font-size: 12px !important;    
 }
 
 .ui-menu {
@@ -292,10 +302,11 @@ a:visited {
 
 a:hover {
     color: #2d7081;
-    font-style:normal;    
-    font-size: x-large;
+    font-style:normal;
+}
+a:active {
+    color: #1eff00;
 }
-
 #sss_status{
     font-size: smaller;
     font-style: italic;
index 8c704198d0e0efe5199bf2c27caa940bcb125ac5..c7d7306f74131de961b509b1c322937daeae6d5c 100644 (file)
@@ -207,14 +207,17 @@ function onBodyLoad(toggle, locale, tz, today, expires, rs_cur, log_limit) {
     if(rgb){
         DEF_BACKGROUND = RGBToHex(rgb);
         $("#fldBG").val(DEF_BACKGROUND);
-        var amf = $( "#amf" );//Amount Field Type dropdown
-        var ec = $( "#ec" );  //Category dropdown
-
-        $( "#amf2" ).selectmenu({style: "dropdown", width:100});
-
-         amf.selectmenu({style: "dropdown", width:100,
-          change: function( event, data ) {
-            var evv =ec.val();
+        // let bg=RGBToHex('rgb(180, 169, 169)'); //<-is set in css file
+        // $('#toolbar-container').css('background-color',bg);
+        $('#toolbar-container').css('color',DEF_BACKGROUND);
+        
+    }
+    var amf = $( "#amf" );//Amount Field Type dropdown
+    var ec = $( "#ec" );  //Category dropdown
+    $( "#amf2" ).selectmenu({style: "dropdown", width:100});
+    amf.selectmenu({style: "dropdown", width:100,
+        change: function( event, data ) {
+        var evv =ec.val();
             if(ec.val()<2||evv==32||evv==35||data.item.value == 0){
                 var sel = null;
                 if(data.item.label == "Income"){ sel = 35; }
@@ -224,8 +227,8 @@ function onBodyLoad(toggle, locale, tz, today, expires, rs_cur, log_limit) {
                     ec.val(sel);
                 }
             }
-          }});
-    }
+        }});
+    
 
     jQuery.fn.dispPos = function () {
         this.css("position","absolute");
@@ -1116,6 +1119,12 @@ function delayedSubmit(){
     $("#frm_entry").submit();
 }
 
+function dispFullLog(id){
+    let $log = $("#h"+id).val();
+    $("#v"+id).html('<div class="log">'+$log+'</div>');
+    return false;
+}
+
 
 function loadRTF(under, id){
 
@@ -1159,7 +1168,7 @@ function loadRTFPnlResult(content, result, prms) {
 }
 
 function loadRTFResult(content, result, prms, quill) {
-    
+    console.log(content);
     var json = JSON.parse(content);
     if(!quill)quill=QUILL;
 
@@ -1170,9 +1179,16 @@ function loadRTFResult(content, result, prms, quill) {
         editorBackground(false);
     }
     else{
-        var id = json.content.lid;
+        var id = json.log_id;
+        var cls = $("#q-scroll"+id).parent().parent().attr("class");
+       // alert(css);
+        $("#q-scroll"+id).attr('class',cls);
         var css = $("#q-scroll"+id).prop('style');
-        if(css){css.backgroundColor = json.content.bg;}
+        $("#q-scroll"+id).attr('class',cls);
+        if(css){
+            css.backgroundColor = DEF_BACKGROUND; //Removing colours makes it inherit from parent these properties.
+            css.foregroundColor = "";//json.content.fg;            
+        }
     }
 
     let msg = json.response;
@@ -1192,10 +1208,14 @@ function loadRTFResult(content, result, prms, quill) {
 function editorBackground(reset){
     var css = $("#editor-container").prop('style');
     if(reset){
+        css.foregroundColor = black;
         css.backgroundColor = DEF_BACKGROUND;
         $("#fldBG").val(DEF_BACKGROUND);
     }
-    else{css.backgroundColor = $("#fldBG").val();}
+    else{
+        css.foregroundColor = black;
+        css.backgroundColor = $("#fldBG").val();
+    }
 }
 
 
index f4637c0abf14a4dede80866acc56abe95c11133e..ef75164614a3b2e5d14acd200f5c0a31c77c3e76 100644 (file)
@@ -1,3 +1,7 @@
+body{
+    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Bookman,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+    font-size: 14px;
+}
 p {
     font-family: Bookman;
     margin-left: 70px;
@@ -272,6 +276,9 @@ img {
     float: right;
 }
 
+#btnRTF {
+    float: right;
+}
 .midnight{
     color:#adeccc;
 }
index 34b4b2973c8937277b4304d21fe11c46987b2094..04932236fc0d5f159b1224e58e58f899d18b5ccf 100644 (file)
@@ -1,3 +1,7 @@
+body{
+    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Bookman,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+    font-size: 14px;
+}
 p {
     font-family: Bookman;
     margin-left: 70px;
@@ -60,17 +64,52 @@ th,
     text-align: left;
 }
 
+#cat_desc {
+    position: absolute;
+    border: 2px solid #9bb6c3;
+    padding: 5px;
+    text-align: center;
+    background: #0f0f0f;
+    color: #d8d8d8;
+    margin-top: 20px;
+    margin-left: 200px;
+    width: 280px;
+    text-decoration-style: wavy;
+
+}
+.span_cat {
+    border:1px solid #9bb6c3;
+    border-style: outset;
+    padding: 2px;
+    padding-right: 5px;
+    width: 180px;
+}
+
+#cat_lst {
+    visibility: hidden;
+}
+
 .r0 {
     background-color: #535353;
     border: 1px solid white;
     border-right: 1px solid white;
     vertical-align: top;
+    color:black;
+}
+.remember{ background-color:#553232;}
+.r0.hover{
+        background-color: #724242;
 }
 .r1 {
     background-color: #272626;
     border: 1px solid white;
     border-right: 1px solid white;
     vertical-align: top;
+    width: fit-content;
+}
+.r1.hover td div{
+        background-color: #b4a9a9;
+        color:#323232;
 }
 .r2 {
     background-color: #636969;
@@ -170,26 +209,6 @@ img {
     padding: 0 10px
 }
 
-#cat_desc {
-    position: absolute;
-    border: 2px solid #9bb6c3;
-    padding: 5px;
-    text-align: center;
-    background: #0f0f0f;
-    color: #d8d8d8;
-    margin-top: 20px;
-    margin-left: 200px;
-    width: 280px;
-    text-decoration-style: wavy;
-
-}
-.span_cat {
-    border:1px solid #9bb6c3;
-    border-style: outset;
-    padding: 2px;
-    padding-right: 5px;
-    width: 180px;
-}
 
 #menu {
     position: fixed;
@@ -214,7 +233,7 @@ img {
 
 .ui-button,
 .ui-button-text .ui-button {
-    font-size: 12px !important;
+    font-size: 12px !important;    
 }
 
 .ui-menu {
@@ -268,7 +287,7 @@ img {
 
 #toolbar-container {
     border: 1px solid white;
-    background-color: #363531;
+    background-color: rgb(180, 169, 169);
     margin-bottom: 3px;
 }
 
@@ -277,6 +296,10 @@ img {
     float: right;
 }
 
+#btnRTF {
+    float: right;
+}
+
 .midnight{
    color:#f8f868;
 }
@@ -289,6 +312,7 @@ a:visited {
 }
 a:hover {
   color: #04c7f8;
+  font-style:normal;
 }
 a:active {
     color: #ff7b00;
@@ -307,5 +331,6 @@ a:active {
     color:khaki;
 }
 .hover{
-    background-color: #8d8d83;
-}
\ No newline at end of file
+    background-color: #8d8d83;    
+}
+#lcat{ margin: 0; padding: 5px;}
\ No newline at end of file
index c117cfe3a15e99e73b0733bea650a4314f59920a..58ed846cd3fe141b9299f2b2b5e56b630fa4c7e8 100644 (file)
@@ -1,13 +1,19 @@
+body{
+    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Bookman,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+    font-size: 14px;
+}
 p {
     font-family: Bookman;
     margin-left: 70px;
     font-weight: bold;
 }
-
+pre{
+    color: black;
+    text-align:left;
+}
 table,
 th,
 td {
-    font-family: Bookman;
     border-collapse: collapse;
     padding: 5px;
     margin: auto;
@@ -53,21 +59,48 @@ th,
     padding-left: 5px;
     text-align: left;
 }
+#cat_desc {
+    position: absolute;
+    border: 2px solid black;
+    padding: 5px;
+    text-align: center;
+    background: #D4AF37;
+    margin-top: 20px;
+    margin-left: 200px;
+    width: 280px;
+    text-decoration-style: wavy;
 
+}
+.span_cat {
+    border:1px solid #b2f8ef;
+    border-style: outset;
+    padding: 2px;
+    padding-right: 5px;
+    width: 180px;
+}
+#cat_lst {
+    visibility: hidden;
+}
 .r0 {
     background-color: #FFDF00;
     border: 1px solid black;
     border-right: 1px solid black;
     vertical-align: top;
 }
+.r0.hover{
+    background-color: #ffdd00c4;
+}
 .r1 {
     background-color: #FFEA00;
     border: 1px solid black;
     border-right: 1px solid black;
     vertical-align: top;
 }
+.r1.hover{
+    background-color: #ffea00c5;
+}
 .r2 {
-    background-color: #ffdd44;
+    background-color: #FFEA00;
     border: 1px solid black;
     border-right: 1px solid black;
     vertical-align: top;
@@ -89,7 +122,16 @@ th,
     padding: 2%;
     margin: 0px auto;
 }
-
+div#rz {
+    border: 1px solid black;
+    text-align: left;
+    background-color: #e6ffff;
+    vertical-align: top;
+    align-self: baseline;
+    height: auto;
+    padding: 2px;
+    margin: 0px auto;
+}
 .hdr {
     font-style: normal;
     font-weight: bold;
@@ -102,7 +144,7 @@ th,
 
 .edit {
     margin: 2px;
-    padding: 2px;
+    padding: 5px;
     font-size: 9pt;
     color: midnightblue
 }
@@ -141,18 +183,6 @@ th,
     background-color: rgba(0, 0, 0, .5);
 }
 
-
-div#rz {
-    border: 1px solid black;
-    text-align: left;
-    background-color: #e6ffff;
-    vertical-align: top;
-    align-self: baseline;
-    height: auto;
-    padding: 2px;
-    margin: 0px auto;
-}
-
 #tag_FRM {
     border: 2px solid rgb(148, 205, 231);
     padding: 5px;
@@ -166,25 +196,7 @@ img {
 }
 
 
-#cat_desc {
-    position: absolute;
-    border: 2px solid black;
-    padding: 5px;
-    text-align: center;
-    background: #D4AF37;
-    margin-top: 20px;
-    margin-left: 200px;
-    width: 280px;
-    text-decoration-style: wavy;
 
-}
-.span_cat {
-    border:1px solid #b2f8ef;
-    border-style: outset;
-    padding: 2px;
-    padding-right: 5px;
-    width: 180px;
-}
 
 
 #menu {
@@ -207,12 +219,87 @@ img {
     margin: 0;
 }
 
-.ui-button,
-.ui-button-text .ui-button {
-    font-size: 12px !important;
-    background-color: #93d314;
+.ui-button {
+  font-size: 12px !important;
+    color: #b87a1d #e4f1fb 
 }
 
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
+    border: 1px solid #ead5ae;
+    background-color: #d4af37;
+    background: #ffdf00;
+    font-weight: bold;
+    color: #b87a1d #e4f1fb 
+}
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
+    border: 1px solid #ead5ae;
+    background-color: #d4af37;
+    background: #fbff00;
+    font-weight: bold;
+    color: #b87a1d #e4f1fb 
+}
+.dropdown-menu table td{
+    color:rgb(226, 34, 34);
+    background: #fbff00;
+    border-radius: 2pt;
+    padding:0px;
+    margin:2px;
+    text-align: left;
+    vertical-align: text-top;
+}
+.dropdown-menu tr td ul {
+    min-width:140px;
+    list-style:none;
+    background: #fbff00;
+    box-shadow:0 3px 5px rgba(0,0,0,0.1);
+    padding:0;
+    margin:1px;
+}
+.ui-widget-header {
+       border: 1px solid #40413e;
+       background: #fbff00;
+       color: #222222;
+       font-weight: bold;
+}
+
+.ui-widget-content{
+       border: 1px solid #dddddd;
+       background: #e9ff27;
+       color: #362b36;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover,
+ html .ui-button.ui-state-disabled:active {
+       border: 1px solid #ead5ae;
+       background-color: #d4af37;
+       background: #e9ff27;
+       font-weight: bold;
+       color: #e4f1fb;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, 
+html .ui-button.ui-state-disabled:active {
+       border: 1px solid #978567;
+       background: #f6f200;
+       font-weight: bold;      
+    color: #0c0c0c;
+}
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, 
+.ui-button.ui-state-active:hover {
+       border: 1px solid #fa0404;
+       background:#ffdf00;
+       font-weight: bold;
+       color: #ff2b06;
+}
+.ui-widget.ui-widget-content {
+       border: 1px solid #131311;
+    color: #362b36;
+    font-weight: bold;
+}
+.ui-widget-content {   
+       background: #fbff00;
+       color: #362b36;
+}
 .ui-menu {
     list-style: none;
     padding: 10px;
@@ -273,10 +360,26 @@ img {
     float: right;
 }
 
+#btnRTF {
+    float: right;
+}
 .midnight{
     color:midnightblue;
 }
-
+a:link {
+    color:#5b06fa;
+   }
+   a:visited {
+    color: #0c0c0c;
+   }
+   
+   a:hover {
+       color: #2d7081;
+       font-style:normal;
+   }
+   a:active {
+       color: #1eff00;
+   }
 #sss_status{
  font-size: smaller;
  font-style: italic;