Changeset 500
- Timestamp:
- 08/28/06 08:38:09
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
qPloneTabs/trunk/skins/qPloneTabs/javascripts/qplonetabs.js
r499 r500 1 var gBeforeReorderFragment = null; 2 var gBeforeEditData = {}; 1 /* Global variables */ 2 3 var gBeforeReorderFragment = null; // document fragment for insertion in UL after clicking cancel button after reorder 4 var gBeforeEditData = {}; // hash for storage tabs fields before editing 5 6 /* Main part - rules for element on our form */ 3 7 4 8 var myrules = { … … 31 35 new Effect.Highlight('tabslist',{}); 32 36 }, 33 onComplete: function(request){ 34 $A($('tabslist').getElementsByTagName('LI')).each(function(li){new Element.ClassNames(li).remove('hover');}); 35 Behaviour.apply(); 36 } 37 onComplete: function(request){Behaviour.apply();} 37 38 } 38 39 ); … … 45 46 shiftClassNames('app', 'sorting', 'viewing'); 46 47 Element.update('tabslist', gBeforeReorderFragment); 47 Behaviour.apply() 48 el.attachEvent ? ieHover():''; 49 Behaviour.apply(); 48 50 return false; 49 51 } 50 52 }, 51 53 '#app .csshover li' : function(el){ 52 if (el.attachEvent){ 53 if (!el.hovers) el.hovers = {}; 54 if (el.hovers['hover']) return; 55 el.hovers['hover'] = true; 56 el.attachEvent('onmouseover', function(){el.className += ' hover';}); 57 el.attachEvent('onmouseout', function(){el.className = el.className.replace((new RegExp('\\s+hover')),'');}); 58 } 54 if (Element.hasClassName(el, 'hover')) {el.className = el.className.replace('hover','');} 59 55 }, 60 56 '#app .visibility' : function(el){ … … 141 137 afterFinish : function(){ 142 138 shiftClassNames(dl, 'expandedBlock', 'collapsedBlock'); 143 // shiftClassNames('app', 'editing', 'viewing');144 139 Element.removeClassName(li, 'editing'); 145 140 li.id = 'tabslist_'+title; … … 213 208 new Insertion.Bottom('tabslist', request.responseText); 214 209 Form.reset('addaction'); 215 // shiftClassNames('app', 'adding', 'viewing');216 210 Element.removeClassName('addaction', 'adding'); 217 211 Behaviour.apply(); 212 ieHover(); 218 213 } 219 214 }); … … 252 247 new Ajax.Updater({success:'roottabs'}, 'qpt_getroottabs', { 253 248 method : 'get', 254 onComplete : function(){Behaviour.apply()} 249 onComplete : function(){ 250 el.attachEvent?ieHover():''; 251 Behaviour.apply(); 252 } 255 253 }); 256 254 } … … 260 258 }; 261 259 260 /* Registerin previous rules with Behaviour.js */ 261 262 262 Behaviour.register(myrules); 263 264 /* Registering global handlers for Ajax requests through Prototype */ 263 265 264 266 var globalHandlers = { … … 269 271 Ajax.Responders.register(globalHandlers); 270 272 273 /* Adding event listeners for hovering in IE & collapsing Advanced sections on loading */ 274 271 275 Event.observe(window, 'load', collapseAdvanced); 272 276 Event.observe(window, 'unload', function(){gBeforeReorderFragment = null; gBeforeEditData = null;}); 277 278 if (window.attachEvent) {Event.observe(window, 'load', ieHover, false);} 279 280 /* Utility functions */ 281 282 function ieHover(){ 283 $A($('app').getElementsByTagName('LI')).each(function(el){ 284 if (el.attachEvent){ 285 if (!el.hovers) el.hovers = {}; 286 if (el.hovers['hover']) return; 287 el.hovers['hover'] = true; 288 el.attachEvent('onmouseover', function(){ 289 Element.hasClassName(el, 'hover') ? '':Element.addClassName(el, 'hover'); 290 }); 291 el.attachEvent('onmouseout', function(){ 292 el.className = el.className.replace(/\bhover\b/g,''); 293 }); 294 } 295 }); 296 }; 273 297 274 298 function collapseAdvanced() { qPloneTabs/trunk/skins/qPloneTabs/qplonetabs.css.dtml
r499 r500 63 63 #app.viewing ul.csshover li:hover .visibility, 64 64 #app.viewing ul.csshover li.hover .visibility, 65 #app ul#roottabs.csshover li:hover .visibility, 66 #app ul#roottabs.csshover li.hover .visibility, 65 67 #app.sorting .drag-handle {display: inline;} 66 68 … … 208 210 /*hover***************************************************/ 209 211 210 #app.viewing ul.csshover li.editing:hover, 211 #app.viewing ul.csshover li.editing.hover { 212 #app.viewing ul.csshover li:hover, 213 #app.viewing ul.csshover li.hover, 214 #app ul#roottabs.csshover li:hover, 215 #app ul#roottabs.csshover li.hover { 216 background-color: #FFFFDD; 217 border: 1px inset threedface; 218 cursor: text; 219 } 220 221 #app.viewing ul.csshover li.editing, 222 #app.viewing ul.csshover li.editing { 212 223 background-color: &dtml-backgroundColor;; 213 224 border: none; 214 225 cursor: auto; 215 }216 217 #app.viewing ul.csshover li:hover,218 #app.viewing ul.csshover li.hover {219 background-color: #FFFFDD;220 border: 1px inset threedface;221 cursor: text;222 226 } 223 227
