Changeset 18180

Show
Ignore:
Timestamp:
08/24/08 18:17:29 (5 months ago)
Author:
hoge1e3
Message:
 
Location:
lang/actionscript/todoshare
Files:
2 added
1 removed
13 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/todoshare/TodoJS.html

    r17220 r18180  
    44<title>Todo (JavaScript)</title> 
    55<script src="prototype.js"></script> 
     6<script src="suggest.js"></script> 
    67<script src="js/common.js"></script> 
    78<script src="js/jsonScr.js"></script> 
     9<script src="js/findForm.js"></script> 
    810<script src="js/tag.js"></script> 
    911<script src="js/gui.js"></script> 
     
    1113<script>  
    1214// JavaScript 
    13 funciont findForm(form) { 
    14     
     15function findForm(form) { 
     16   return new FindForm(form); 
    1517} 
    1618function onLoad() { 
     
    1820    
    1921    
    20    vaf fe=findForm({ 
     22   var fe=findForm({ 
    2123        category: "Event",  
    2224        content: bindSuggest($("event"),$("eventS")) 
     
    2931         content: bindSuggest($("todo"),$("todoS")) 
    3032   }; 
    31    vaf ft=findForm(ftTmpl); 
     33   var ft=findForm(ftTmpl); 
    3234   fe.watch(function (res) { 
    3335     ftTmpl.id=["in",res]; 
  • lang/actionscript/todoshare/bin-debug/test/db.sql

    r17024 r18180  
    1919); 
    2020 
    21  
     21create table textstore ( 
     22  txt    varchar(255), 
     23  content text 
     24); 
    2225 
    2326insert into relation values('yohkan','owner','kachimo'); 
  • lang/actionscript/todoshare/index.cgi

    r17019 r18180  
    1616if ($id) {&disp($id);exit;} 
    1717 
    18 &Html::p ([html, 
    19    [head, 
    20      [title,"MyS-monitor"]], 
     18&Tmpl::page({title=>"MyS-monitor"}, 
    2119   [body,  
    2220      [h1,"メニュー"], 
    2321       link("todo.cgi","Todo"), 
    24        link("todoJS.cgi","Todo(JS)"), 
     22       link("TodoJS.html","Todo(JS)"), 
    2523       link("nohada.cgi","のはだ"), 
     24       link("textEdit.html","テキストエディタ"), 
    2625       link("netacho.html","ネタ帳"), 
    2726       link("swkText.cgi","SWK(Text Mode)"), 
     
    3231       link("backupDB.cgi","Backup DB"), 
    3332       link("restoreDB.cgi","Restore DB"), 
     33       [script, qq( 
     34         progn( 
     35             [dbPut,{id: "currentTime",  "is": new Date()+""} ] 
     36         ); 
     37       )] 
    3438   ] 
    35 ]); 
     39); 
    3640 
    3741 
     
    101105   
    102106} 
     107 
     108 
  • lang/actionscript/todoshare/js/common.js

    r17117 r18180  
    2020  db.apply(this,[["INSERT3",query],function (res) { 
    2121     query.id=res[1]; 
     22    // print (query.id); 
    2223     after.apply(this,arguments);   
    2324  }]); 
  • lang/actionscript/todoshare/js/findForm.js

    r17220 r18180  
    77       var e=tmpl[i]; 
    88       if (e instanceof SuggestBind) { 
    9          e.suggest=new Suggest.Local(element, suggest ,[],  
     9         e.suggest=new Suggest.Local(e.input, e.suggestArea ,[],  
    1010            {ajaxAction: function(str,max,onEnd) { 
    1111              var query={}; 
     
    1818                 } 
    1919              } 
     20              print (query); 
    2021              db(["GET3",query],function (res) { 
    21                  onEnd( 
    22                     res.map(function (e) {e[i]}) 
    23                  ); 
     22                 var cand=res.map(function (e) {return e[i];}); 
     23                  
     24                 onEnd(cand ); 
    2425              }); 
     26            }, 
     27            onTextChanged: function (cur,prev) { 
     28               print ("Text changed from "+prev+" -> " +cur); 
    2529            }} 
    2630         ); 
     
    5155}; 
    5256function bindSuggest(input, suggestArea) { 
    53   return new SuggestBind(input, suggest); 
     57  return new SuggestBind(input, suggestArea); 
    5458} 
  • lang/actionscript/todoshare/js/gui.js

    r17019 r18180  
    11function abutton(target,args) { 
     2// do not call directly, call from tag library 
     3// [abutton,{onClick=>[jsonScript   ] }, "Caption"]  
    24  var a=$(args); 
    35  var attr=a[0]; 
  • lang/actionscript/todoshare/js/jsonScr.js

    r17117 r18180  
    3737       return compileFunc(opr,compileArgs(first),_compile(scr)); 
    3838    } 
     39    first.unshift(opr); 
     40    return compilePrimitive(first,_compile(scr)); 
    3941    throw "Invalid operation "+Object.toJSON(opr);  
    4042    /*if (isObj(opr)) { 
     
    128130   return res; 
    129131} 
    130 function gv(name) { 
    131    return [ 
    132       function () {return state[name];} 
    133    ]; 
     132function gv(obj,name) { 
     133   if (name==null) { 
     134     name=obj; 
     135     return [ 
     136       function () {return state[name];} 
     137     ]; 
     138   } else { 
     139     return [ 
     140       function () {return obj[name];} 
     141     ]; 
     142   } 
    134143} 
    135144// --------- Value type check 
  • lang/actionscript/todoshare/js/tag.js

    r17019 r18180  
    3131     return a[0](target,args); 
    3232  }  
    33   var e=document.createElement(a[0]); 
    34   for (var i=1 ; i<a.length ; i++) { 
    35      elem(e,a[i]); 
     33  if (typeof(a[0])=="string") { 
     34    var e=document.createElement(a[0]); 
     35    for (var i=1 ; i<a.length ; i++) { 
     36       elem(e,a[i]); 
     37    }  
     38    target.appendChild(e); 
     39    return e; 
     40  } 
     41  for (var i=0 ; i<a.length ; i++) { 
     42     elem(target,a[i]); 
    3643  }  
    37   target.appendChild(e); 
    38   return e; 
     44  return target; 
    3945} 
    4046function elemObj(target,o) { 
  • lang/actionscript/todoshare/jsonDB.html

    r17024 r18180  
    1414                   //alert(httpObj); 
    1515                   //alert(httpObj.responseText); 
    16 //                 $("res").value=httpObj.responseText.evalJSON(  ); 
    1716                   $("res").value=httpObj.responseText; 
     17                   lastResult=httpObj.responseText.evalJSON(  ); 
    1818                    
    1919                }, 
     
    2222                } 
    2323   }); 
     24} 
     25function ev() { 
     26   ans=eval($("cmd").value); 
     27   $("cmd").value=Object.toJSON(ans); 
    2428} 
    2529</script> 
     
    3034["GET3",{ 
    3135   "id":["*"],  
    32    "class":["*"],  
     36   "category":["*"],  
    3337   "content":["like","%る%"] 
    3438}] 
    3539</textarea> 
    36 <button onclick="exe();return false;" onsubmit="return false;">=></button> 
    37 <textarea rows=10 cols=40 id=res></textarea> 
     40<button onclick="ev();return false;" onsubmit="return false;">&lt;=Eval</button> 
     41<button onclick="exe();return false;" onsubmit="return false;">=&gt;</button> 
     42<textarea rows=10 cols=40 id=res></textarea><BR> 
     43※変数 lastResult= 最後のクエリ結果<BR> 
     44※変数 ans= 最後のEval結果<BR> 
    3845</form> 
    3946<BR> 
  • lang/actionscript/todoshare/perl/Obj.pm

    r17117 r18180  
    3434      $prefix=~ tr/A-Z/a-z/; 
    3535  } else {$prefix="";} 
    36   $prefix. time ; 
     36  $prefix. &now ; 
     37} 
     38sub now { 
     39   my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst )  =  
     40       localtime ( time )  ; 
     41   $year-=100;  
     42   $mon++; 
     43   sprintf("%02d%02d%02d_%02d%02d%02d",$year,$mon,$mday , $hour,$min,$sec );    
    3744} 
    3845sub setUTF { 
     
    187194                   ]); 
    188195                } 
    189                 return ["OK"]; 
     196                return ["OK",$properties->{$idNameOvr}]; 
    190197            } 
    191198            # insert 
  • lang/actionscript/todoshare/suggest.js

    r17220 r18180  
    5555 
    5656    if (arguments[3]) this.setOptions(arguments[3]); 
    57      
     57    if (!this.onTextChanged) this.onTextChanged=function(){}; 
    5858    // ajaxArg!=null => ajaxAction(ajaxArg) == candidateList 
    5959    this.ajaxArg=null; 
     
    109109    } 
    110110    if (text != this.oldText) { 
     111      if (this.onTextChanged) this.onTextChanged(text,this.oldText); 
    111112      this.oldText = text; 
    112113      //print ("starts? "+text+" "+this.ajaxArg+" "+text.startsWith(this.ajaxArg)); 
     
    283284        if (this.activePosition < 0) { 
    284285          this.activePosition = null; 
     286          this.onTextChanged(this.inputValueBackup, this.input.value); 
    285287          this.input.value = this.inputValueBackup; 
    286288          return; 
     
    297299      if (this.activePosition >= this.suggestList.length) { 
    298300        this.activePosition = null; 
     301        this.onTextChanged(this.inputValueBackup, this.input.value); 
    299302        this.input.value = this.inputValueBackup; 
    300303        return; 
     
    325328 
    326329    this.setStyleActive(this.suggestList[index]); 
    327  
    328     this.setInputText(this.candidateList[this.suggestIndexList[index]]); 
     330    var nt=this.candidateList[this.suggestIndexList[index]]; 
     331    this.onTextChanged(nt,this.getInputText()); 
     332    this.setInputText(nt); 
    329333 
    330334    this.oldText = this.getInputText(); 
  • lang/actionscript/todoshare/test/tmpl.html

    r17177 r18180  
    44<title>タイトル</title> 
    55<script src="prototype.js"></script> 
     6<script src="suggest.js"></script> 
    67<script src="js/common.js"></script> 
    78<script src="js/jsonScr.js"></script> 
     9<script src="js/findForm.js"></script> 
    810<script src="js/tag.js"></script> 
    911<script src="js/gui.js"></script> 
    1012<link rel="Stylesheet" type="text/css" href="css/default.css"> 
    11 <script>  
    12 // JavaScript 
    1313<script>  
    1414// JavaScript 
  • lang/actionscript/todoshare/todo.cgi

    r16774 r18180  
    2323my $br=["br","\n"]; 
    2424my $script="todo.cgi"; 
    25 my $todoClass="class://Todo"; 
    26 my $eventClass="class://Event"; 
     25my $todoClass="Todo"; 
     26my $eventClass="Event"; 
    2727my $notice= "※内容を記入すると「追加」,空欄にすると「参照」になります"; 
    2828if    ($in->{todoName}) {&add;} 
     
    4848   my $todo=&Obj::newID($todoClass); 
    4949   &Obj::exe(["INSERT2",$todo,{ 
    50       class=>$todoClass, 
     50      category=>$todoClass, 
    5151      content=>$in->{todoName} 
    5252   }]); 
     
    5555     $when=&Obj::newID($eventClass); 
    5656     &Obj::exe(["INSERT2",$when,{ 
    57        class=>$eventClass, 
     57       category=>$eventClass, 
    5858       content=>$in->{whenText} 
    5959     }]); 
     
    8484                     my $out=shift; 
    8585                     my $res=&Obj::exe(["GET2", 
    86                         ["class", "content"], 
     86                        ["category", "content"], 
    8787                        { 
    88                            class => $eventClass, 
     88                           category => $eventClass, 
    8989                        },1 
    9090                     ]);