[ Index ] |
|
Code source de Seagull 0.6.1 |
1 2 function UriAliasHandlerInit(editingMode, autoMode) { 3 var uriAliasHandler = new UriAliasHandler(editingMode, autoMode); 4 5 // Events supported 6 uriAliasHandler.enableButton.onclick = function() { 7 uriAliasHandler.checkEnableButtonState(this.checked); 8 } 9 uriAliasHandler.autoModeButton.onclick = function() { 10 uriAliasHandler.checkAutoModeButtonState(this.checked); 11 } 12 uriAliasHandler.titleOfPage.onkeyup = function() { 13 uriAliasHandler.updateUriAliasFromTitle(); 14 } 15 uriAliasHandler.aliasInputText.onkeyup = function() { 16 uriAliasHandler.updateUriAliasFromInputText(); 17 } 18 19 // Perform first check 20 uriAliasHandler.checkEnableButtonState(uriAliasHandler.enableButton.checked); 21 } 22 23 function UriAliasHandler(editingMode, autoMode) 24 { 25 var allowSlashes = false; 26 var debug = 0; 27 var enableButton = "section_uriAliasEnable"; 28 var autoModeButton = "section_uriAliasAutoMode"; 29 var uriAlias = "section_uriAlias"; 30 var uriAliasDisplay = "uriAliasDisplay"; 31 var titleOfPage = "section[title]"; 32 var aliasInputText = "aliasInputText"; 33 var uriAliasEnableBox = "uriAliasEnableBox"; 34 var uriAliasAutoModeBox = "uriAliasAutoModeBox"; 35 var uriAliasDisplayBox = "uriAliasDisplayBox"; 36 37 this.editingMode = (typeof editingMode != "undefined") ? editingMode : "add"; 38 this.autoMode = (typeof autoMode != "undefined") ? autoMode : "auto"; 39 this.enableButton = document.getElementById(enableButton); 40 this.autoModeButton = document.getElementById(autoModeButton); 41 this.titleOfPage = document.getElementById(titleOfPage); 42 this.aliasInputText = document.getElementById(aliasInputText); 43 this.uriAlias = document.getElementById(uriAlias); 44 this.uriAliasDisplay = document.getElementById(uriAliasDisplay); 45 this.aliasBackup = this.uriAlias; 46 this.allowSlashes = allowSlashes; 47 this.uriAliasEnableBox = document.getElementById(uriAliasEnableBox); 48 this.uriAliasAutoModeBox = document.getElementById(uriAliasAutoModeBox); 49 this.uriAliasDisplayBox = document.getElementById(uriAliasDisplayBox); 50 this.translit = new Translit(); 51 52 // Set auto mode checkbox depending on autoMode 53 if (this.editingMode == 'add') { 54 this.autoModeButton.checked = true; 55 } 56 this.checkEnableButtonState = function(EnableButtonState) { 57 if (EnableButtonState) { 58 this.uriAliasDisplayBox.style.display = "block"; 59 this.uriAliasAutoModeBox.style.display = "block"; 60 this.uriAlias.value = this.aliasBackup.value; 61 this.checkAutoModeButtonState(); 62 } else { 63 this.uriAliasDisplayBox.style.display = "none"; 64 this.uriAliasAutoModeBox.style.display = "none"; 65 this.aliasBackup.value = this.uriAlias.value; 66 this.uriAlias.value = ""; 67 } 68 } 69 70 this.checkAutoModeButtonState = function() { 71 if (this.autoModeButton.checked) { 72 this.autoMode = "auto"; 73 this.aliasInputText.style.display = "none"; 74 this.updateUriAliasFromTitle(); 75 } else { 76 this.autoMode = "manual" 77 this.aliasInputText.style.display = "inline"; 78 if (this.uriAlias.value == "") { 79 this.updateUriAliasFromInputText(); 80 } 81 } 82 } 83 84 this.updateUriAliasFromTitle = function() { 85 if (this.enableButton.checked && this.autoMode == "auto") { 86 input = this.titleOfPage.value; 87 this.uriAlias.value = this.uriAliasDisplay.innerHTML = this.translit.UrlTranslit(input, this.allowSlashes); 88 } 89 } 90 this.updateUriAliasFromInputText = function() { 91 input = this.aliasInputText.value; 92 this.uriAlias.value = this.uriAliasDisplay.innerHTML = this.translit.UrlTranslit(input, this.allowSlashes); 93 } 94 95 this.debug = function() { 96 debugMessage = "Debug Infos :\n" 97 debugMessage += (this.enableButton.checked) 98 ? "uriAlias enabled\n" 99 : "uriAlias disabled\n"; 100 debugMessage += "editing mode = " +this.editingMode +"\n"; 101 debugMessage += "auto mode = " +this.autoMode +"\n"; 102 debugMessage += "titleOfPage = " +this.titleOfPage.value +"\n"; 103 debugMessage += "uriAlias = " +this.uriAlias.value +"\n"; 104 debugMessage += "uriAlias Backup = " +this.aliasBackup.value +"\n"; 105 alert(debugMessage); 106 } 107 108 if (debug) { 109 this.debug(); 110 } 111 } 112 113
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 30 01:27:52 2007 | par Balluche grâce à PHPXref 0.7 |