Subversion Repositories wimsdev

Rev

Rev 15053 | Blame | Compare with Previous | Last modification | View Log | RSS feed

!set ans_require=dynapi3

!if $wims_read_parm=def
  !exit
!endif

!! test if styke tag is already set in DOM (if multiple instance of same anstype)
!if $reorder_css!=set
  <style>
    !read anstype/compose.css
  </style>
  !set reorder_css=set
!endif

!bound inputsize between integer 1 and 40 default 10
!if $inputsize<=5
  !distribute item '<p class=\"center\">' +,+ '</p>' into ct1,ct2
!else
  !reset ct1,ct2
!endif
!set inputsize=$[$inputsize*10]
!set lenlimit=40
!set imgs=$(replygood$i)
!set imgs=!rows2lines $imgs
!distribute lines $imgs into imgs,conn
!set icnt=!itemcnt $imgs
!if $icnt<2
  !set imgs=!words2items $imgs
  !set comma=
!else
  !set comma=,
!endif
!if $conn!=$empty
  !set comma=$conn
!endif
!set imgs=!translate internal | to , in $imgs
!set imgs=!singlespace $imgs
!set imgs=!nonempty items $imgs
!set imgs=!listuniq $imgs
!set imgs=!shuffle odd $imgs
!set imgcnt=!itemcnt $imgs
!set imgl=!items2lines $imgs
!set imgarr=!replace internal " by \" in $imgl
!set imgarr=!replace internal ' by \' in $imgarr
!set imgarr=!replace internal $\
$ by ',' in '$imgarr'
!set Imgarr=!replace internal \ by \\ in $imgl
!set Imgarr=!replace internal " by \" in $Imgarr
!set Imgarr=!replace internal ' by \' in $Imgarr
!set Imgarr=!replace internal $\
$ by ',' in '$Imgarr'
!set wims_ins_alt=none
!set z=r$i

!read js/dynapi3.phtml
<script>
/*<![CDATA[*/
 var $(z)_imgcnt=0;
 $(z)_imgs=new Array($imgarr);
 $(z)_Imgs=new Array($Imgarr);
 $(z)_strs=new Array($lenlimit+1);
 $(z)_Strs=new Array($lenlimit+1);
 $(z)_used=new Array($imgcnt);
 $(z)_use=new Array($lenlimit+1);
 $(z)_strs[0]='';
 $(z)_Strs[0]='';
 var lyr$i;

dynapi.onLoad(function() {
  lyr$i=new DynLayer();
  lyr$i.setAnchor({topA:'tarea$i',leftA:'tarea$i',stretchH:'70%',stretchV:$inputsize});
  lyr$i.setClass('compose_filler');
  //lyr$i.setHTML('');
  dynapi.document.addChild(lyr$i);
  for(var i=0;i<$imgcnt;i++) $(z)_used[i]=0;
});

/* add the element of index t to the filler zone */
function $(z)_addone(e, t) {
  e.preventDefault();
  // if t is out of bounds or already used, don"t add it.
  if(t<0 || $(z)_imgcnt>=$lenlimit || $(z)_used[t]!=0) return;
  if($(z)_imgcnt>0) {
    $(z)_strs[$(z)_imgcnt+1]=$(z)_strs[$(z)_imgcnt]+'$comma '+$(z)_imgs[t];
    $(z)_Strs[$(z)_imgcnt+1]=$(z)_Strs[$(z)_imgcnt]+','+$(z)_Imgs[t];
  }
  else {
    $(z)_strs[$(z)_imgcnt+1]=$(z)_imgs[t];
    $(z)_Strs[$(z)_imgcnt+1]=$(z)_Imgs[t];
  }
  $(z)_imgcnt++; $(z)_use[$(z)_imgcnt]=t; $(z)_used[t]=1;
  document.getElementById("$(z)_link_"+t).classList.add('disabled');
  $(z)_lockdata();
}

/* Lock data ? and update the reply input */
function $(z)_lockdata() {
  lyr$i.setHTML($ct1 $(z)_strs[$(z)_imgcnt] $ct2);
  document.forms['replyform'].reply$i.value='';
  for(var t=0;t<$imgcnt;t++) if($(z)_used[t]==0) return;
  document.forms['replyform'].reply$i.value=$(z)_Strs[$(z)_imgcnt];
}

/* Remove the last added item */
function $(z)_backone(e) {
  e.preventDefault();
  if($(z)_imgcnt<1) return;
  var last_item=$(z)_use[$(z)_imgcnt];
  document.getElementById("$(z)_link_"+last_item).classList.remove('disabled');
  $(z)_used[last_item]=0;
  $(z)_imgcnt--; $(z)_lockdata();
}

/* Remove all items */
function $(z)_cleanall(e) {
  e.preventDefault();
  if($(z)_imgcnt<1) return;
  for(var t=0;t<$imgcnt;t++){
    $(z)_used[t]=0;
    document.getElementById("$(z)_link_"+t).classList.remove('disabled');
  }
  $(z)_imgcnt=0; $(z)_lockdata();
}
/*]]>*/
</script>

!reset wims_ins_alt
!if $wims_read_parm!=noprompt
  <tr><td>
  !if $module_language=fr
    Cliquer successivement sur les objets pour les ranger.
    !goto cont
  !endif
  !if $module_language=nl
    Geef de volgorde door op de verschillende objecten te klikken
    !goto cont
  !endif

  Click successively on the objects to reorder them.
  :cont
!endif

<div class="reorder_items">
  !set instex_color=blue
  !for i_=1 to $imgcnt
    !set src=!item $i_ of $imgs
    <a id="$(z)_link_$[$i_-1]" class="wims_label" href="#tarea$i" onclick="$(z)_addone(event, $[$i_-1])">$src</a>&nbsp;
  !next i_
  !set instex_color=black

  !set style_=height:20px;vertical-align:middle;
  <a href="#tarea$i" onclick="$(z)_backone(event)" title="remove last item"><img style="$style_" src="gifs/arrows/left3.32.gif" alt="left arrow"></a>
  <a href="#tarea$i" onclick="$(z)_cleanall(event)" title="remove all items"><img style="$style_" src="gifs/reset.gif" alt="reset"></a>
</div>

!if $wims_read_parm!=noprompt and $(replyname$i) notsametext
  <p><label for="reply$i">$(replyname$i)</label></p>
!endif

<div class="wimscenter">
  <img id="tarea$i" style="height:$[$inputsize-10]px;width:70%;" src="gifs/transparent.gif" alt="transparent">
</div>

<input type="hidden" name="reply$i" value="">

!if $wims_read_parm!=noprompt
  </td></tr>
!endif