Changeset 27280

Show
Ignore:
Timestamp:
12/23/08 14:21:08 (4 years ago)
Author:
hoge1e3
Message:
 
Location:
lang/javascript/nohada
Files:
1 added
4 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/nohada/js/objEdit.js

    r27163 r27280  
    1818      var f=t.relationFilter; 
    1919      dbFindRel( this.objID, _, _,printAll); 
     20          var tbl; 
    2021      function printAll (rels) { 
    21         var tbl=elem(["table",{id:"T"},rels.filter(f).map(attr)]); 
     22        tbl=elem(["table",{id:"T"},rels.filter(f).map(attr)]); 
    2223                t.target.set([ 
    2324                   tbl,["br"], 
     
    3031      function attr(rel,edit) { 
    3132                 if (typeof(edit)=="number") edit=false; 
    32                  var prevName=rel.name; 
    33          var prevValue=rel.val; 
    34                   
    35                  var dispK=elem(["span",rel.name]); 
    36                  var dispV=elem(["span",rel.val]); 
    37                  var editK=elem(["input",{value: rel.name}]); 
    38                  var editV=elem(["input",{value: rel.val}]); 
    39          var k,v; 
    40                  if (edit) { 
    41                      k=elem(["td",editK]); 
    42                          v=elem(["td",editV]); 
    43                  } else { 
    44                      k=elem(["td",dispK]); 
    45                          v=elem(["td",dispV]); 
    46                  } 
    47                  var editB,delB; 
    48          return ["tr",k,v, 
    49                       ["td" , editB=elem(["button",{onclick: toggleEdit},"Edit"])], 
    50                       ["td" , delB=elem(["button",{onclick: delRel},"Delete"])] 
    51          ]; 
    52                  function toggleEdit() { 
    53                      if (edit) editEnd(); 
    54                          else editStart(); 
    55                  } 
    56          function editStart() { 
    57             k.set(editK); 
    58             v.set(editV); 
    59                         edit=true; 
    60          } 
    61                  function editEnd() { 
    62             k.set(dispK); 
    63             v.set(dispV); 
    64                         var delrel=["DELREL",t.objID,prevName,prevValue]; 
    65                         prevName=editK.value; 
    66                         prevValue=editV.value; 
    67                         dispK.set(["span",prevName]); 
    68                         dispV.set(["span",prevValue]); 
    69                         editB.value="Wait.."; 
    70                         db(["PROGN", 
    71                            delrel, 
    72                            ["MAKEREL",t.objID,prevName,prevValue] 
    73                         ],next); 
    74                         function next() {                       editB.value="End"; } 
    75                         edit=false; 
    76                  } 
    77                  function delRel() { 
    78                     db(["DELREL",t.objID,prevName,prevValue],next); 
    79                         function next() {k.set();v.set();}; 
    80                  } 
     33                          
     34         return ["tr",function (tr) { 
     35                         var prevName=rel.name; 
     36                 var prevValue=rel.val; 
     37                         function attrFilled() { 
     38                             var r= (prevName && prevName.length>0) && 
     39                                                (prevValue && prevValue.length>0); 
     40                                  //alert(prevName+" "+prevValue+" "+r); 
     41                                  return r; 
     42                         } 
     43                         var dispK=elem(["span",rel.name]); 
     44                         var dispV=elem(["span",rel.val]); 
     45                         var editK=elem(["input",{value: rel.name, onEnter:editEnd}]); 
     46                         var editV=elem(["input",{value: rel.val, onEnter:editEnd}]); 
     47                 var k,v; 
     48                         if (edit) { 
     49                             k=elem(["td",editK]); 
     50                                 v=elem(["td",editV]); 
     51                         } else { 
     52                             k=elem(["td",dispK]); 
     53                                 v=elem(["td",dispV]); 
     54                         } 
     55                         var editB,delB; 
     56                          
     57                      tr.add([ 
     58                        k,v, 
     59                        ["td" , editB=elem(["button",{onclick: toggleEdit},"Edit"])], 
     60                        ["td" , delB=elem(["button",{onclick: delRel},"Delete"])] 
     61                          ]); 
     62                           
     63                      function delRel() { 
     64                             if (attrFilled()) { 
     65                                        db(["DELREL",t.objID,prevName,prevValue],next); 
     66                             } else next(); 
     67                                 function next() {tbl.removeChild(tr);}; 
     68                      } 
     69                     function toggleEdit() { 
     70                             if (edit) editEnd(); 
     71                                 else editStart(); 
     72                         } 
     73                 function editStart() { 
     74                                editB.innerHTML="OK"; 
     75 
     76                    k.set(editK); 
     77                    v.set(editV); 
     78                                edit=true; 
     79                 } 
     80                         function editEnd() { 
     81                            //return alert("bug gaaru"); 
     82                    k.set(dispK); 
     83                    v.set(dispV); 
     84                                var delrel=["DELREL",t.objID,prevName,prevValue]; 
     85                                prevName=editK.value; 
     86                                prevValue=editV.value; 
     87                            if (!attrFilled()) { 
     88                                   delRel(); 
     89                                   return; 
     90                                } 
     91                                dispK.set(["span",prevName]); 
     92                                dispV.set(["span",prevValue]); 
     93                                editB.value="Wait.."; 
     94                                db(["PROGN", 
     95                                   delrel, 
     96                                   ["MAKEREL",t.objID,prevName,prevValue] 
     97                                ],next); 
     98                                function next() {                       editB.innerHTML="Edit"; } 
     99                                edit=false; 
     100                         } 
     101 
     102         }]; 
    81103      } 
    82104   } 
  • lang/javascript/nohada/js/tag.js

    r27163 r27280  
    88   insertAt: function (index,elem) { 
    99      return insertAt(this, index, elem); 
     10   }, 
     11   attr: function (obj) { 
     12      elemObj(this,obj); 
    1013   } 
    1114}); 
    12  
    1315 
    1416function elem(target, a) { 
     
    7375  if (o instanceof HTMLElement) {target.appendChild(o);return o;} 
    7476  for (var i in o) { 
     77       var v=o[i]; 
    7578     if (i.match(/^on/)) {//alert(i+"  "+o+" / "+Object.toJSON(o)); 
    76         if (target.addEventListener) { 
    77            target.addEventListener(i.substring(2).toLowerCase(),o[i],false); 
    78         } else { 
    79            target.attachEvent(i.toLowerCase(),o[i]); 
     79        i=i.toLowerCase(); 
     80                if (i=="onenter") { 
     81              i="onkeydown"; 
     82                  var pv=v; 
     83                  v=function ent(e) { 
     84                        if (e.keyCode==13) pv(); 
     85                  }; 
     86            } 
     87        if (target.addEventListener) {// FF 
     88           target.addEventListener(i.substring(2),v,false); 
     89        } else {//IE 
     90           target.attachEvent(i,function () { 
     91                      v(window.event); 
     92                        }); 
    8093        } 
    8194     } else { 
     
    91104        } 
    92105} 
     106 
     107 
  • lang/javascript/nohada/perl/Obj.pm

    r27163 r27280  
    439439EOF 
    440440        my $where={}; 
     441        return if ( 
     442           not $cmd->[1] or 
     443           not $cmd->[2] or 
     444           not $cmd->[3]); 
    441445        $where->{obj} = $cmd->[1]; 
    442446        $where->{name}= $cmd->[2] if ($cmd->[2] and not &isAny($cmd->[2])); 
    443         $where->{val} = $cmd->[3] if ($cmd->[2] and not &isAny($cmd->[3])); 
     447        $where->{val} = $cmd->[3] if ($cmd->[3] and not &isAny($cmd->[3])); 
    444448        $where->{role}=&Session::getRole; 
    445449      return &exeRaw(["DELETE",$relName,$where]); 
  • lang/javascript/nohada/textEdit.html

    r26686 r27280  
    9393   $("text").value=""; 
    9494   content=""; 
    95    $("id").value=""; 
     95   $("id").set(); 
    9696   obj=null; 
    9797}