You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
2.7 KiB
119 lines
2.7 KiB
/****************************************************
|
|
* Spell Checker Client JavaScript Code
|
|
****************************************************/
|
|
// spell checker constants
|
|
var showCompleteAlert = true;
|
|
|
|
var editor=parent.rtespellcheckeditor;
|
|
|
|
function get_text(index)
|
|
{
|
|
return editor.GetText();
|
|
}
|
|
function set_text(index,text)
|
|
{
|
|
editor.SetText(text);
|
|
}
|
|
function get_elements_length()
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
/****************************************************
|
|
* Spell Checker Suggestion Window JavaScript Code
|
|
****************************************************/
|
|
var iElementIndex = -1;
|
|
|
|
function doinit(guid)
|
|
{
|
|
iElementIndex = parseInt(document.getElementById("ElementIndex").value);
|
|
|
|
var spellMode = document.getElementById("SpellMode").value;
|
|
|
|
switch (spellMode)
|
|
{
|
|
case "start" :
|
|
//do nothing client side
|
|
break;
|
|
case "suggest" :
|
|
//update text from parent document
|
|
updateText();
|
|
//wait for input
|
|
break;
|
|
case "end" :
|
|
//update text from parent document
|
|
updateText();
|
|
//fall through to default
|
|
default :
|
|
//get text block from parent document
|
|
if(loadText())
|
|
document.getElementById("SpellingForm").submit();
|
|
else
|
|
endCheck()
|
|
break;
|
|
}
|
|
}
|
|
|
|
function loadText()
|
|
{
|
|
// check if there is any text to spell check
|
|
for (++iElementIndex; iElementIndex < get_elements_length(); iElementIndex++)
|
|
{
|
|
var newText = get_text(iElementIndex);
|
|
if (newText.length > 0)
|
|
{
|
|
updateSettings(newText, 0, iElementIndex, "start");
|
|
document.getElementById("StatusText").innerText = "Spell Checking Text ...";
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function updateSettings(currentText, wordIndex, elementIndex, mode)
|
|
{
|
|
currentText=currentText.replace(/<([^>]+)/g,function(a,b,c)
|
|
{
|
|
return "<"+b.toLowerCase();
|
|
});
|
|
var div=document.createElement("DIV");
|
|
div.appendChild(document.createTextNode(currentText));
|
|
document.getElementById("CurrentText").value = div.innerHTML;
|
|
document.getElementById("WordIndex").value = wordIndex;
|
|
document.getElementById("ElementIndex").value = elementIndex;
|
|
document.getElementById("SpellMode").value = mode;
|
|
}
|
|
|
|
function updateText()
|
|
{
|
|
var newText = document.getElementById("CurrentText").value;
|
|
var div=document.createElement("DIV");
|
|
div.setAttribute("contentEditable","true");
|
|
div.innerHTML=newText;
|
|
var txt=div.innerText||div.textContent||"";
|
|
div.innerHTML="";
|
|
if(document.getElementById("Replaced").value=="ALL")
|
|
{
|
|
set_text(iElementIndex, txt);
|
|
}
|
|
}
|
|
|
|
function endCheck()
|
|
{
|
|
if (showCompleteAlert)
|
|
alert("Spell Check Complete");
|
|
closeWindow();
|
|
}
|
|
|
|
function closeWindow()
|
|
{
|
|
parent.rtespellcheckdialog.close();
|
|
}
|
|
|
|
function changeWord(oElement)
|
|
{
|
|
var k = oElement.selectedIndex;
|
|
oElement.form.ReplacementWord.value = oElement.options[k].value;
|
|
}
|