mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-24 15:48:55 +01:00
87 lines
2.1 KiB
JavaScript
87 lines
2.1 KiB
JavaScript
|
////////////////////////////////////////////////////
|
|||
|
// controlWindow object
|
|||
|
////////////////////////////////////////////////////
|
|||
|
function controlWindow( controlForm ) {
|
|||
|
// private properties
|
|||
|
this._form = controlForm;
|
|||
|
|
|||
|
// public properties
|
|||
|
this.windowType = "controlWindow";
|
|||
|
this.noSuggestionSelection = "- No suggestions -";
|
|||
|
// set up the properties for elements of the given control form
|
|||
|
this.suggestionList = this._form.sugg;
|
|||
|
this.evaluatedText = this._form.misword;
|
|||
|
this.replacementText = this._form.txtsugg;
|
|||
|
this.undoButton = this._form.btnUndo;
|
|||
|
|
|||
|
// public methods
|
|||
|
this.addSuggestion = addSuggestion;
|
|||
|
this.clearSuggestions = clearSuggestions;
|
|||
|
this.selectDefaultSuggestion = selectDefaultSuggestion;
|
|||
|
this.resetForm = resetForm;
|
|||
|
this.setSuggestedText = setSuggestedText;
|
|||
|
this.enableUndo = enableUndo;
|
|||
|
this.disableUndo = disableUndo;
|
|||
|
}
|
|||
|
|
|||
|
function resetForm() {
|
|||
|
if( this._form ) {
|
|||
|
this._form.reset();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function setSuggestedText() {
|
|||
|
var slct = this.suggestionList;
|
|||
|
var txt = this.replacementText;
|
|||
|
var str = "";
|
|||
|
if( (slct.options[0].text) && slct.options[0].text != this.noSuggestionSelection ) {
|
|||
|
str = slct.options[slct.selectedIndex].text;
|
|||
|
}
|
|||
|
txt.value = str;
|
|||
|
}
|
|||
|
|
|||
|
function selectDefaultSuggestion() {
|
|||
|
var slct = this.suggestionList;
|
|||
|
var txt = this.replacementText;
|
|||
|
if( slct.options.length == 0 ) {
|
|||
|
this.addSuggestion( this.noSuggestionSelection );
|
|||
|
} else {
|
|||
|
slct.options[0].selected = true;
|
|||
|
}
|
|||
|
this.setSuggestedText();
|
|||
|
}
|
|||
|
|
|||
|
function addSuggestion( sugg_text ) {
|
|||
|
var slct = this.suggestionList;
|
|||
|
if( sugg_text ) {
|
|||
|
var i = slct.options.length;
|
|||
|
var newOption = new Option( sugg_text, 'sugg_text'+i );
|
|||
|
slct.options[i] = newOption;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function clearSuggestions() {
|
|||
|
var slct = this.suggestionList;
|
|||
|
for( var j = slct.length - 1; j > -1; j-- ) {
|
|||
|
if( slct.options[j] ) {
|
|||
|
slct.options[j] = null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function enableUndo() {
|
|||
|
if( this.undoButton ) {
|
|||
|
if( this.undoButton.disabled == true ) {
|
|||
|
this.undoButton.disabled = false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function disableUndo() {
|
|||
|
if( this.undoButton ) {
|
|||
|
if( this.undoButton.disabled == false ) {
|
|||
|
this.undoButton.disabled = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|