Changeset 260 for trunk/web-app/js
- Timestamp:
- Mar 12, 2010, 4:12:53 PM (11 years ago)
- Location:
- trunk/web-app/js
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web-app/js/table-editor.js
r247 r260 12 12 * $Date$ 13 13 */ 14 function TableEditor() { } 14 function TableEditor() { 15 } 15 16 TableEditor.prototype = { 16 17 tableIdentifier: null, 17 18 rowIdentifier: null, 18 19 columnIdentifier: null, 20 selected: null, 19 21 20 22 /** … … 51 53 filter: this.rowIdentifier, 52 54 stop: function() { 55 // remember selected rows 56 that.selected = $('.ui-selected', table); 57 53 58 // bind on change to columns in rows 54 $('.ui-selected', table).each(function() {55 that.attachColumnHandlers(this );59 that.selected.each(function() { 60 that.attachColumnHandlers(this,table); 56 61 }) 57 62 } … … 63 68 * @param row 64 69 */ 65 attachColumnHandlers: function(row ) {70 attachColumnHandlers: function(row,table) { 66 71 var that = this; 67 72 var count = 0; 73 74 // define regular expressions 75 var regAutoComplete = new RegExp("ui-autocomplete-input"); 76 68 77 $(this.columnIdentifier, $(row)).each(function() { 69 78 var input = $(':input', $(this)); 70 79 // does this column contain an input field 71 80 if (input) { 72 var type = $(input).attr('type'); 81 var inputElement = $(input) 82 var type = inputElement.attr('type'); 73 83 74 84 switch (type) { … … 76 86 // text input 77 87 var columnNumber = count; 78 $(input).bind('keyup', function() { 79 that.updateSingleInputElements(input, columnNumber, 'input'); 80 }) 88 89 // handle special cases 90 // if (inputElement.attr('rel') && regBp.test(inputElement.attr('rel'))) { 91 if (regAutoComplete.test(inputElement.attr('class'))) { 92 // this is a jquery-ui autocomplete field 93 inputElement.bind('autocompleteclose', function() { 94 // TODO: autocompletion deselects rows... which is what we don't want 95 // to happen of course... 96 that.updateSingleInputElements(input, columnNumber, 'input'); 97 }) 98 } else { 99 // regular text element 100 inputElement.bind('keyup', function() { 101 that.updateSingleInputElements(input, columnNumber, 'input'); 102 }); 103 } 81 104 break; 82 105 case 'select-one': 83 106 // single select 84 107 var columnNumber = count; 85 $(input).bind('change', function() {108 inputElement.bind('change', function() { 86 109 that.updateSingleInputElements(input, columnNumber, 'select'); 87 110 }); … … 90 113 // checkbox 91 114 var columnNumber = count; 92 $(input).bind('click', function() {115 inputElement.bind('click', function() { 93 116 that.updateSingleInputElements(input, columnNumber, 'input'); 94 117 }); … … 108 131 109 132 count++; 110 }) 133 }); 111 134 }, 112 135 … … 120 143 var that = this; 121 144 var e = $(element); 122 var c = e.parent(); 123 var r = c.parent(); 124 var t = r.parent(); 145 var c = e.parent(); // column 146 var r = c.parent(); // row 147 var t = r.parent(); // table 125 148 var v = this.getValue(e); 126 149 // TODO for multiples... … … 132 155 var myVal = that.getValue(me); 133 156 if (myVal != v) { 134 that.setValue(me, v);157 that.setValue(me, v); 135 158 } 136 159 }) … … 160 183 * @param value 161 184 */ 162 setValue: function(input, value) {185 setValue: function(input, value) { 163 186 var i = $(input); 164 187 165 188 switch (i.attr('type')) { 166 189 case 'checkbox': 167 return i.attr('checked', value);190 return i.attr('checked', value); 168 191 break; 169 192 default: -
trunk/web-app/js/wizard.js
r257 r260 38 38 attachDateTimePickers(); 39 39 40 // table handlers40 // handle and initialize table(s) 41 41 attachTableEvents(); 42 42 handleWizardTable(); 43 43 new TableEditor().init('div.table', 'div.row', 'div.column'); 44 44 45 // accordeon(s) 45 // initialize the ontology chooser 46 new OntologyChooser().init(); 47 48 // initialize accordeon(s) 46 49 $("#accordion").accordion(); 47 50 }
Note: See TracChangeset
for help on using the changeset viewer.