[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 // This file is part of Moodle - http://moodle.org/ 2 // 3 // Moodle is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU General Public License as published by 5 // the Free Software Foundation, either version 3 of the License, or 6 // (at your option) any later version. 7 // 8 // Moodle is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 15 16 /** 17 * @package tool_xmldb 18 * @copyright 2003 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} 19 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 20 */ 21 22 // Register the needed events 23 onload=function() { 24 // Adjust the form on load 25 transformForm(); 26 27 // Get the required fields 28 var typeField = document.getElementById('menutype'); 29 var sequenceField = document.getElementById('menusequence'); 30 31 // Register the rest of events 32 if (typeField.addEventListener) { 33 // Standard 34 typeField.addEventListener('change', transformForm, false); 35 sequenceField.addEventListener('change', transformForm, false); 36 } else { 37 // IE 5.5 38 typeField.attachEvent('onchange', transformForm); 39 sequenceField.attachEvent('onchange', transformForm); 40 } 41 } 42 43 /** 44 * This function controls all modifications to perform when any field changes 45 */ 46 function transformForm(event) { 47 48 // Initialize all the needed variables 49 var typeField = document.getElementById('menutype'); 50 var lengthField = document.getElementById('length'); 51 var decimalsField = document.getElementById('decimals'); 52 var notnullField = document.getElementById('menunotnull'); 53 var sequenceField = document.getElementById('menusequence'); 54 var defaultField = document.getElementById('default'); 55 56 var lengthTip = document.getElementById('lengthtip'); 57 var decimalsTip = document.getElementById('decimalstip'); 58 59 // Initially, enable everything 60 decimalsField.disabled = false; 61 notnullField.disabled = false; 62 sequenceField.disabled = false; 63 defaultField.disabled = false; 64 65 // Based on sequence, disable some items 66 if (sequenceField.value == '1') { 67 notnullField.disabled = true; 68 notnullField.value = '1'; 69 defaultField.disabled = true; 70 defaultField.value = ''; 71 } 72 73 // Based on type, disable some items 74 switch (typeField.value) { 75 case '1': // XMLDB_TYPE_INTEGER 76 lengthTip.innerHTML = ' 1...20'; // Hardcoded xmldb_field::INTEGER_MAX_LENGTH, yes! 77 lengthField.disabled = false; 78 decimalsTip.innerHTML = ''; 79 decimalsField.disabled = true; 80 decimalsField.value = ''; 81 break; 82 case '2': // XMLDB_TYPE_NUMBER 83 lengthTip.innerHTML = ' 1...20'; // Hardcoded xmldb_field::NUMBER_MAX_LENGTH, yes! 84 lengthField.disabled = false; 85 decimalsTip.innerHTML = ' 0...length or empty'; 86 break; 87 case '3': // XMLDB_TYPE_FLOAT 88 lengthTip.innerHTML = ' 1...20 or empty'; // Hardcoded xmldb_field::FLOAT_MAX_LENGTH, yes! 89 lengthField.disabled = false; 90 decimalsTip.innerHTML = ' 0...length or empty'; 91 break; 92 case '4': // XMLDB_TYPE_CHAR 93 lengthTip.innerHTML = ' 1...1333'; // Hardcoded xmldb_field::CHAR_MAX_LENGTH, yes! 94 lengthField.disabled = false; 95 decimalsTip.innerHTML = ''; 96 decimalsField.disabled = true; 97 decimalsField.value = ''; 98 sequenceField.disabled = true; 99 sequenceField.value = '0'; 100 break; 101 case '5': // XMLDB_TYPE_TEXT 102 lengthTip.innerHTML = ''; 103 lengthField.disabled = true; 104 decimalsTip.innerHTML = ''; 105 decimalsField.disabled = true; 106 decimalsField.value = ''; 107 sequenceField.disabled = true; 108 sequenceField.value = '0'; 109 defaultField.disabled = true; 110 defaultField.value = ''; 111 break; 112 case '6': // XMLDB_TYPE_BINARY 113 lengthTip.innerHTML = ''; 114 lengthField.disabled = true; 115 decimalsTip.innerHTML = ''; 116 decimalsField.disabled = true; 117 decimalsField.value = ''; 118 sequenceField.disabled = true; 119 sequenceField.value = '0'; 120 defaultField.disabled = true; 121 defaultField.value = ''; 122 break; 123 case '7': // XMLDB_TYPE_DATETIME 124 lengthTip.innerHTML = ''; 125 lengthField.disabled = true; 126 lengthField.value = ''; 127 decimalsTip.innerHTML = ''; 128 decimalsField.disabled = true; 129 decimalsField.value = ''; 130 sequenceField.disabled = true; 131 sequenceField.value = '0'; 132 defaultField.disabled = true; 133 defaultField.value = ''; 134 break; 135 } 136 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |