Web Info & Tutorials

September 14th, 2006

AJAX-BASED PHP GRID ACQUIRED, SOON TO OPEN SOURCE

According to this quick press release, Senza Limiti has snagged an Ajax-based PHP data grid component and is already making plans to publish it out with an open source license.

The PHP Grid is an Ajax –based table component that shows database information in a good looking, easy to use way. All user actions are performed in real time, on the client side, giving instant feedback and providing a desktop-like user experience. Among its features are Excel support and an automated print function that presents the table in a printable format. It also allows instant editing of database rows.

Senza Limiti will re-release the PHP Grid under an Open Source license on October 1st, 2006, hoping to create the de-facto standard for Ajax/PHP-based grid compoments.

You can get the complete details on the datagrid from the pages on the company’s site. They will also be offering a closed source, MySQL-style license for uses in commercial applications.

September 14th, 2006

YAHOO! MAIL - AJAX EDITION GOES LIVE

Yahoo! Mail’s big-time Ajax upgrade finally goes live today (via TechCrunch). True to the times, it’s still a “Beta”, but it’s now open to the general public in the US and 18 international markets (from ReadWriteWeb). The company acquired Oddpost - a key inspiration for the new interface - two years ago, not long after the ominous release of GMail. The Ajax interface went into limited Beta a year ago.

Features:

  • Desktop-like look-and-feel (similar to Outlook)
  • Drag-and-drop UI
  • Tabbed interface for multiple emails
  • Calendar, integrated with Yahoo! Maps
  • RSS Reader

ReadWriteWeb walks through the interface and has a podcast interview with Yahoo! Mail’s Ethan Diamond.

September 14th, 2006

YUI PAGINATING TABLE CONTROL

Rodrigo Diniz has taken the YUI Grid created by Jack SLocum and made a pagable version.

In this code I “override” some functions to make the grid pageable. The sort function is also changed , since I have a paged grid the client function would give me wrong results by sorting only the visible rows. In this sample the sort uses a Ajax request to return the right sorted rows even remembering the right page.If you are on the third page you will still be in the third page when you sort.

The grid is also showing how to implement the delete function. The new refresh method takes care of everething when the user deletes the last record on the last page , by changin the current page automatically. Click here to download the AjaxGrid class with comments. Click here to see the xml returned from the server.

Don’t forget to copy the css file for the grid and the pager.

Pagable YUI Control

September 14th, 2006

JAVASCRIPT CLOSURES FOR DUMMIES

Morris artist has absent though and cursive a detailed account of closures by example:

If everything seems completely blurred then the prizewinning abstract to do is to endeavor with t e examples. Reading an account is such harder than discernment example
My explanations of closures and stack-frames etc are not technically precise - they are large simplifications witting to support understanding. Once the base intent is grokked, you crapper garner up the info later.

Final points:

  • Whenever you ingest function exclusive additional function, a approaching is used.
  • Whenever you ingest eval() exclusive a function, a approaching is used. The book you eval crapper meaning topical variables of the function, and within eval you crapper modify create newborn topical variables by using eval(’var foo =
  • When you ingest Function() exclusive a function, it does not create a closure. (The newborn duty cannot meaning the topical variables of the duty occupation Function()).
  • A approaching in JavaScript is aforementioned ownership a double of the every the topical variables, meet as they were when a duty exited.
  • It is belike prizewinning to conceive that a approaching is ever created meet on entry to a function, and the topical variables are additional to that closure.
  • A newborn ordered of topical variables is kept every instance a duty with a approaching is titled (Given that the duty contains a duty papers exclusive it, and a meaning to that exclusive duty is either returned or an outside meaning is kept for it in whatever way).
  • Two functions strength countenance aforementioned they hit the aforementioned maker text, but hit completely assorted activity because of their ‘hidden’ closure. I don’t conceive JavaScript cipher crapper actually encounter discover if a duty meaning has a approaching or not.
  • If you are disagreeable to do some impulsive maker cipher modifications ( for example: myFunction = Function(myFunction.toString().replace(/Hello/,’Hola’)); ), it won’t impact if myFunction is a approaching (Of course, you would never modify conceive of doing maker cipher progress change at runtime, but…).
  • It is doable to intend duty declarations within duty declarations within functions - and you crapper intend closures at more than digit level.
  • I conceive ordinarily a approaching is the constituent for both the duty along with the variables that are captured. Note that I do not ingest that definition in this article!
  • I venture that closures in JavaScript dissent from those ordinarily institute in useful languages.