Well...I just got lucky - somehow fixed it and am not sure how? I'll update my post if I do, but it's really late right now :-)
On Wed, Dec 16, 2009 at 11:19 PM, Clayton Dukes <[email protected]> wrote: > Read that...been reading for days now, hopefully someone can help me :-) > > What I ended up doing was to store the information into a table > (mysql) so that I could load portlets from there per user (it also > allows me to store individual portlet.php files on disk and call them > using an include, etc.). I have it (somewhat) working based on this > tutorial: > http://www.kadede.com/disenyoblog/?p=289 > > The problem I ran into is that sorting by yindex doesn't work for me > since I'm using tabs - I also found that it wouldn't load anything > after the first row. > > My code looks like this: > > $(document).ready(function(){ > $(".column").sortable({ > connectWith: ".column", > update: savelayout > }); > $(".portlet").addClass("ui-widget ui-widget-content > ui-helper-clearfix ui-corner-all") > .find(".portlet-header") > .addClass("ui-widget-header ui-corner-all") > .prepend('<span class="ui-icon ui-icon-plusthick"></span>') > .end() > .find(".portlet-content"); > $(".portlet-header .ui-icon").click(function() { > $(this).toggleClass("ui-icon-minusthick"); > > $(this).parents(".portlet:first").find(".portlet-content").toggle(); > }); > $(".column").disableSelection(); > }); > function savelayout(){ > var positions = ""; > var yindex = 0; > $(".portlet").each(function(){yindex++;positions+=(this.id + "=" + > this.parentNode.id + "|" + yindex + "&");}); > $.ajax({ > type: "POST", > url: "includes/savelayout.php", > data: positions > }); > } > > My savelayout is just printing the post variables for now, e.g: > foreach ($_POST as $key=>$value) { > $vars .= "\tKey = $key, Value = $value\n"; > } > > Which spits out this (example): > Key = Select_Date, Value = tab1col1|2 > > Note that the col1 is getting updated - the original position was > col2, but I can't figure out a way to print out the updated row. > Ideally, I would like to get it to print something like this after the > user moves the portlet (I plan to remove the '|yindex' later, it's not > working anyways...): > Key = Select_Date, Value = tab1col1row2|2 > > My page looks like this: > > <!-- BEGIN Column: tab1col2 --> > <div class="column" style="width: 33.33%; float: left; padding-bottom: > 100px;" id="tab1col2"> > <!-- Starting portlet for tab1, col2, row1 --> > <div class="portlet" id="Select Date"> > <div class="portlet-header">Select Date</div> > <div class="portlet-content"> > <input type="text" size="25" value="12/16/2009" id="daterange"> > </div> > <!-- Ending portlet for tab1, col2, row1 --> > </div> > <!-- END Column: tab1col2 --> > </div> > > If you need to see this live, let me know and I can send out the url - > it's probably not useful to send it right now since I'm constantly > breaking it :-) > > Note: > These are all built in php foreach loops, so I can't list the row as > an addendum to the column id, it's basically something like this > (shorthanded some of it for brevity) > > mysql = get tabs from table > foreach (tabarray as tab) { > echo "<!-- BEGIN Tab: $tab -->\n"; > echo "<div id=\"$tab\">\n"; > mysql = get columns for this tab > foreach($colarray as $column) { > echo "<!-- BEGIN Column: $tab$column -->\n"; > echo "<div class=\"column\" style=\"width: $colwidth%; float: > left; padding-bottom: 100px;\" id=\"$tab$column\">\n"; > mysql = get rows for this column > foreach($rowarray as $row) { > echo "<!-- Starting portlet for $tab, $column, $row -->\n";; > echo "<div class=\"portlet\" id=\"$header\">\n"; > echo"<div class=\"portlet-header\">$header</div>\n"; > echo"<div class=\"portlet-content\">\n"; > include("$content"); > echo"</div>\n"; > echo "<!-- Ending portlet for $tab, $column, $row -->\n";; > echo "</div>\n"; > > So how can I place the row id somewhere, and how can I recall it from > the line in the function: > $(".portlet").each(function(){yindex++;positions+=(this.id + "=" + > this.parentNode.id + "|" + yindex + "&");}); > > > > On Sun, Dec 13, 2009 at 11:26 PM, Nate Laws <[email protected]> wrote: >> You would probably want to use the jquery cookie plugin. I >> found http://stackoverflow.com/questions/1370417/jquery-ui-sortable-and-cookie which >> looks like it may point you in the right direction. You should probably >> search for 'sortable' instead of 'portlets' as its a more generalized >> search... portlets are just a bunch of connected sortables after all. >> >> On Sun, Dec 13, 2009 at 7:48 PM, Clayton Dukes <[email protected]> wrote: >>> >>> I've spent hours looking for examples of this, the best I could find >>> was at http://www.kadede.com/disenyoblog/?p=289 but he only shows how >>> to do it with user logins. >>> The problem I have is that not all my users will use the authentication >>> system. >>> Can anyone tell me how to do it using cookies? >>> I'm a bit surprised that there are no examples of this, or that it >>> seems to be so difficult, am I looking in the wrong place? >>> >>> >>> On Sat, Dec 5, 2009 at 6:41 PM, Clayton Dukes <[email protected]> wrote: >>> > Hi, >>> > Can someone point me to some sample code for using a cookie to store >>> > the state of portlets? >>> > example: >>> > http://dukey.gdd.net >>> > login/pass is guest/guest >>> > I'd like to store the state of the portlets on that page when a user >>> > rearranges the boxes. >>> > >>> > >>> > >>> > -- >>> > ______________________________________________________________ >>> > >>> > Clayton Dukes >>> > ______________________________________________________________ >>> > >>> >>> >>> >>> -- >>> ______________________________________________________________ >>> >>> Clayton Dukes >>> ______________________________________________________________ >>> >>> -- >>> >>> 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. >>> >>> >> >> -- >> >> 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. >> > > > > -- > ______________________________________________________________ > > Clayton Dukes > ______________________________________________________________ > -- ______________________________________________________________ Clayton Dukes ______________________________________________________________ -- 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.
