It appears to be working now; please ignore last post. Russ
On Sat, Jan 17, 2009 at 4:34 PM, Russ Hacker <[email protected]>wrote: > Sorry about that. > > I downloaded and installed ui.tabs.js and ui.core.js from svn repo 1.6rc5 > at: > > http://jquery-ui.googlecode.com/svn/tags/1.6rc5 > > But now nothing seems to work. The initial load doesn't work and none of > the tabs are responding at all > > I tried with both jquery-1.2.6.min.js and jquery-1.3.js > > Sorry for the bother... > > Russ > > > On Fri, Jan 16, 2009 at 5:22 PM, Klaus Hartl > <[email protected]>wrote: > >> >> You seem to be using a fairly outdated version of Tabs. I may have >> fixed the bug in the meantime already. >> >> --Klaus >> >> >> >> >> On 16 Jan., 23:41, "Russ Hacker" <[email protected]> wrote: >> > Klaus, >> > >> > I posed this response to another thread, but it does not appear to be >> > logging, so I'm trying a post via email. >> > >> > ****************************************** >> > ****************************************** >> > >> > Klaus, >> > >> > Thanks for the assistance on another thread...thought I would add to >> this >> > thread as I have found that I CAN replicate the non-indexing bug and >> have >> > attempted to work-around it before I found this thread. Here is the >> demo: >> > >> > http://radsrc.fastcheapweb.com/siteignite/poppage >> > >> > The initial tabs load behaves as one would expect. The alert boxes >> indicate >> > the tab events that are fired. BTW, the URLs are dynamically generated >> and >> > refreshed and work great in the initial load. >> > >> > Here's how to gen problems: >> > >> > 1. Select "Home" from the "Templates" dropdown. >> > 2. Select "Careers" from the "Pages" dropdown (actually select anything >> you >> > wish) >> > >> > Here's what happens when you do that: >> > 1. An ajax form returns the list divs for new tabs that appears in >> > #NewTabs. I started down this kludgy path because if I set the ajax >> target >> > to the tabs container I could never get the tabs to refresh. Instead I >> > "remove" the "old" tabs and "add" new tabs that appear as a list of divs >> in >> > #NewTabs. >> > 2. When the new tabs are returned, the function readyTabs() is called. >> > This function: >> > (a) Gets the Initial count of the tabs present >> > (b) Adds the "new" tabs >> > (c) Deletes all but one of the "old" tabs >> > >> > The portion that is germane to this thread is that I found that I had to >> > delete BACKWARD decrementing: >> > var delCount = initCount-1; >> > while(delCount!=0){ >> > window.$tabsPara=window.$tabsPara.tabs( "remove", delCount); >> > delCount=delCount-1; >> > } >> > >> > ...as opposed to simply iterating through using: >> > window.$tabsPara.tabs( "remove", 0); >> > >> > If you try and remove the tabs that way--or by incrementing [ ( >> "remove", >> > 0), ( "remove", 1), ( "remove", 2)...]--then it will fail because the >> tabs >> > don't get re-indexed faster than the deleting loop. >> > >> > Other things that I found were: >> > >> > * If you delete all of the tabs before adding new ones, the panel >> > disappears. >> > * Options "tabTemplate" seems to work, but "panelTemplate" does not. >> I >> > have tried numerous variations from simple "<div></div>" to >> fully-generated >> > "<div style='' class='ui-tabs-panel' id='CurrentContent'></div>". >> > >> > My "work-around" was to generate a blank tab at initialization, disable >> that >> > tab, and then never delete this associated tab and panel. This seemed >> to >> > preserve the panel while I deleted the initial tabs. >> > >> > Okay, now the problem that I have now: After the new tabs are created, >> > their events stop firing (see "gen problems" above). I thought maybe it >> was >> > because the tabs() calls were not refreshing the object, so the last >> thing >> > that I tried was always returning that result back into the object using >> > "window.$tabsPara=", but it while the tab control _appears_ to be >> > "selecting...loading...focusing'' none of the events are being fired. >> > >> > Here is the relevant code: >> > >> > window.CurrentPanel = ""; >> > window.$tabsPara = $("#si > ul").tabs({ >> > selected: null, >> > remote: true , >> > spinner: 'Please wait...', >> > tabTemplate:"<li><a href='#{href}' >> title='CurrentContent'><span>#{label}</span></a></li>", >> > >> > panelTemplate: "<div style='' class='ui-tabs-panel' >> > id='CurrentContent'></div>", >> > disabled: [0], >> > select: function(e, ui) { >> > alert('select'); >> > >> > // update global for editor synch AND AJAX call >> > // try this for speed increase >> > //find(":nth-child(1)") >> > CurrentPanel =$(ui.tab).children(":first-child").html(); >> > >> > // make URL >> > var ajxURL=CurrentURL >> > +'/ajx_crud/' >> > +CurrentPanel >> > +'/'+$('#selectTemplates').val() >> > +'/'+$('#selectPages').val() >> > +'/R'; // crud parameter--'read' >> > // trim spaces >> > ajxURL = $.string(ajxURL).strip().str; >> > >> > // clear / re-set editor >> > var html ="<p>"; >> > $.fck.setHTML('textarea1', html); >> > >> > // alert('SELECT ui.index--'+ui.index) >> > >> > // refresh URL >> > window.$tabsPara.tabs( "url", ui.index, ajxURL); >> > >> > return true; >> > }, >> > load: function(ui) { >> > alert('load'); >> > >> > // ajax load if nothing is peending >> > var pendingTab='#pend'+window.CurrentPanel; >> > var pendHTML = $(pendingTab).val(); >> > >> > if (pendHTML != "unset") { >> > $('#CurrentContent').html(pendHTML); >> > return false; >> > } >> > else { >> > return true; >> > } >> > }, >> > show: function(ui) { >> > alert('show'); >> > >> > // container that has "current" db value >> > var currentDB='#init'+window.CurrentPanel; >> > if($(currentDB).val()=="unset"){ >> > $(currentDB).val($('#CurrentContent').html()); >> > }; >> > >> > return true; >> > }, >> > add: function(e,ui) { >> > alert('add'); >> > CurrentPanel =$(ui.tab).children(":first-child").html(); >> > var ajxURL=CurrentURL >> > +'/ajx_crud/' >> > +CurrentPanel >> > +'/'+$('#selectTemplates').val() >> > +'/'+$('#selectPages').val() >> > +'/R'; // crud parameter--'read' >> > // trim spaces >> > ajxURL = $.string(ajxURL).strip().str; >> > window.$tabsPara.tabs( "url", ui.index, ajxURL ) >> > return true; >> > } >> > >> > }); >> > >> > function readyTabs(){ >> > >> > // get the starting number of tabs >> > var initCount = window.$tabsPara.tabs("length"); >> > >> > // add new tabs >> > $("#NewTabs > div").each(function(i){ >> > var label = $(this).text(); >> > // alert(label); >> > window.$tabsPara=window.$tabsPara.tabs( "add", label, >> label); >> > }); >> > >> > // initCount is the number of tabs, but array is 0-based >> > var delCount = initCount-1; >> > while(delCount!=0){ >> > window.$tabsPara=window.$tabsPara.tabs( "remove", delCount); >> > delCount=delCount-1; >> > } >> > >> > // now select first tab so that CurrentPanel has a default value >> set >> > window.$tabsPara=window.$tabsPara.tabs( "select", 1); >> > >> > // reset init and post textareas >> > readyReset(); >> > >> > iconStates(CurrentPanel); >> > >> > // DEBUG ONLY >> > // alert('here'+$(this).val()); >> > >> > } >> > >> > Of course, feel free to view source athttp:// >> radsrc.fastcheapweb.com/siteignite/poppage >> > >> > Sorry for the long post...again. >> > >> > Russ >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery UI" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jquery-ui?hl=en -~----------~----~----~----~------~----~------~--~---
