1
irmtfan
is this possible to include a js file to DHTML editor ?
  • 2004/12/16 17:26

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


i want use a js file (farsi.js) for put farsi keys to DHTML editor:
function storeCaret(textEl) {
    if (
textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();

}
var 
lang = 1;    // 1: Farsi, 0: English

// Farsi keyboard map based on ISIRI-2901
var farsikey = [
   
0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF,
   
0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,
   
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
   
0x0038, 0x0039, 0x003A, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F,
   
0x066C, 0x0624, 0x200C, 0x0698, 0x0649, 0x064D, 0x0625, 0x0623,
   
0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,
   
0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,
   
0x0058, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D7, 0x0640,
   
0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644,
   
0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E,
   
0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,
   
0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E ];


function 
changeLang() {
    if (
lang == 0) {
    
lang = 1;
    return 
true;
  }
  else {
    
lang = 0;
    return 
true;
  }
}

function 
FKeyDown (txtFrm){
 var 
key = window.event.keyCode;
 if (
key == 145){
    if (
lang == 0) {
      
lang = 1;
      return 
true;
    }
    else {
      
lang = 0;
      return 
true;
    }

}

}
function 
FKeyPress(txtFrm) {
   var 
key = window.event.keyCode;

  if (
key == 13) { window.event.keyCode = 13; return true; }

   if (
lang == 1) { // If Farsi
     
if (key == 0x0020 && window.event.shiftKey) // Shift-space -> ZWNJ
       
window.event.keyCode = 0x200C;
     else
       
window.event.keyCode = farsikey[key - 0x0020];
     if (
farsikey[key - 0x0020] == 92) {
        
window.event.keyCode = 0x0698;
     }
     if (
farsikey[key - 0x0020] == 8205) {
        
window.event.keyCode = 0x067E;
     }
   }
   return 
true;
}

function 
change(obj){
if (
lang==0)
lang=1
else
lang=0;
obj.focus();
}
thsi file change the keyboard with scroll lock (key == 145)
i open class\xoopsform\fortextarea.php and change:
line 130:
return "<textarea name='".$this->getName()."' id='".$this->getName()."' rows='".$this->getRows()."' cols='".$this->getCols()."'".$this->getExtra().">".$this->getValue()."</textarea>";
to this:
$form ="<script language='JavaScript' type='text/javascript' src='" . XOOPS_URL . "/class/farsi.js'></script>";
        
$form .="<textarea name='".$this->getName()."' id='".$this->getName()."' onkeypress=FKeyPress(".$this->getName().") onkeydown=FKeyDown(".$this->getName().") rows='".$this->getRows()."' cols='".$this->getCols()."'".$this->getExtra().">".$this->getValue()."</textarea>";
        return 
$form;
but it doesnt work. am i missing something or edit a wrong file?
btw is this possible to include a js file to DHTML editor?

2
irmtfan
Re: is this possible to include a js file to DHTML editor ?
  • 2004/12/17 10:51

  • irmtfan

  • Module Developer

  • Posts: 3419

  • Since: 2003/12/7


anyone? i think must put code in another file but which one?