Excellent Resource for Learning MooTools
October 4th, 2007This has been out there for quite a while now, but I thought it should be included in the bestiary out of completeness.
This has been out there for quite a while now, but I thought it should be included in the bestiary out of completeness.
Earlier this month I posted on a powerful ExtJS extension for handling multiple file uploads. Today we will delve deeper into this widget and explore handling the uploads on the server end.
YUI provides for the creation of forms dynamically without the need for pre-existing markup through the Button object.
Despite its name, the button is a rich widget that supports the creation of:
Today we are exploring the creation of buttons dynamically from javascript. Creation itself is simple.
Building a Modal Filtering List with YUI
In this tutorial we will build a simple form and embed it in a modal panel.
Building the form
There are two approaches we could take towards building the form : dynamic or static. A dynamically loaded interface is built by the javascript executed on page load, a static interface lurks hidden inside the html source and is displayed when needed. For the sake of simplicity, we will be using a static interface in this tutorial.
Our form is quite simple. It consists of 3 tiers of options and a submit button:
<div id="filterpanelform" style="display:none"> <fieldset><legend>Type</legend> <input name="type" value="berry" type="checkbox">Berry <input name="type" value="citrus" type="checkbox">Citrus <input name="type"value="drupe" type="checkbox">Drupe <input name="type" value="Melon" type="checkbox">Melon </fieldset> <fieldset><legend> Size </legend> <input name="size" value="small" type="checkbox">Small <input name="size" value="medium" type="checkbox">Medium <input name="size" value="large" type="checkbox">Large </fieldset> <fieldset><legend> Color </legend> <input name="color" value="red" type="checkbox">Red <input name="color" value="orange" type="checkbox">Orange <input name="color" value="yellow" type="checkbox">Yellow <input name="color" value="green" type="checkbox">Green <input name="color" value="purple" type="checkbox">Purple <input name="color" value="pink" type="checkbox">Pink </fieldset> <button value="Filter" name="doFilter" type="button"id="doFilter">Filter</button> </div>
Notice the style=”display:none;” on the containing div? This is to hide the contents from view until our user calls the modal dialog.
Building the Modal Interface
Now we need to build a YUI panel to contain the filtering interface. Unlike the form elements, the panel we will build dynamically. The panel will be created on page load, but will remain hidden until called for.
// Instantiate a Panel from script
YAHOO.example.container.FormPanel = new YAHOO.widget.Panel("formPanel", { width:"320px", visible:false, draggable:true, close:true} );
YAHOO.example.container.FormPanel.setHeader("Form Panel");
//populate the panel with the form we've hidden in the HTML
YAHOO.example.container.FormPanel.setBody( document.getElementById("filterpanelform").innerHTML );
YAHOO.example.container.FormPanel.render("container");
In part one we discussed the general layout and design of the application. In this chapter we will build the server side in the storage for the application using the powerful PHP object generator (POG).
This is part one of a multipart tutorial on AJAX application construction. Today we will be building a Software Project Scheduling application based on Joel Spolsky’s Painless Software Schedules system.
The application will be built using the Php Object Generator, and ExtJS Framework.