December 24th, 2007 Posted by Don Albrecht
Ok, so you probably know that Javascript like most other programming languages treats “0″ as false and any other numerical value as true in logic statements. Usually, this is sufficient, unfortunately, sometimes, you need a bit more consistent behavior. For example, ( 2 && 3 && true ) = 2.
Luckily there is a simple fix. Since, ! only operates on boolean data. !(0) is true and !( any other non-null value is false). Therefore, !! returns the boolean value of the original expression.
Another way of coding it, would be “Boolean ( expression );” and directly casting the expression to a Boolean. All things being equal, this would honestly be my preferred way of doing it. After all, legibility in code is one of the utmost considerations for most development, but since bandwidth is also a major consideration in javascript and !! is reasonably intuitive, I personally use it wherever necessary.
October 16th, 2007 Posted by Don Albrecht
Organizational standards are wonderful things. They enforce consistency, help insure institutional competence and can dramatically reduce the learning curve to get additional staff up to speed on a project. At the same time, in the world of AJAX standards can be too slow to adapt to a constantly changing landscape. How do you strike a balance between flexibility and consistency?
Keep reading →
Filed under Uncategorized
October 14th, 2007 Posted by Don Albrecht
Here’s a great resource for load balancing AJAX applications. Unlike most load balancing strategies. This one outsources some of the responsibility for balancing to an AJAX client to reduce costs and increase availability.
http://www.digital-web.com/articles/client_side_load_balancing/
Filed under Uncategorized
October 11th, 2007 Posted by Don Albrecht
Prototype 1.6 is fast approaching and we’re already seeing loads of developers adopting the update in projects. As this tutorial shows, The improvements to Class & inheritance in are truly compelling reasons to jump.
Prototype 1.6 Inheritance tutorial via Ajaxian
October 8th, 2007 Posted by Don Albrecht
Menu widgets: Every toolkit’s got one or more and they sure are easy to use & impressive so the temptation is there to just slap them everywhere. After all, you’re already pushing the toolkit to the client anyway, why not make the most of it.
Before you do, tho I encourage you to consider the following & ask yourself if the javascript solution is really appropriate.
Keep reading →
Filed under Uncategorized
October 4th, 2007 Posted by Don Albrecht
This has been out there for quite a while now, but I thought it should be included in the bestiary out of completeness.
http://clientside.cnet.com
September 19th, 2007 Posted by Don Albrecht
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");
September 17th, 2007 Posted by Don Albrecht
Here’s a tip for all you Blueprint CSS users. If you want to extend a background into the margin beyond a column, apply the first & last classes to the column. Even if it’s not the first column in a row, it will extend the div 10 px into the gutter between columns.
Filed under Uncategorized