<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: yui code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Wed, 20 Aug 2008 14:06:56 GMT</pubDate>
    <description>DZone Snippets: yui code</description>
    <item>
      <title>YUI: parse json data from a async request</title>
      <link>http://snippets.dzone.com/posts/show/5919</link>
      <description>&lt;code&gt;&lt;br /&gt;var initializeHistoryLog = function(){&lt;br /&gt;	var historyLog = YAHOO.util.Dom.get('historyLog');&lt;br /&gt;&lt;br /&gt;	// Define the callbacks for the asyncRequest&lt;br /&gt;	var callbacks = {&lt;br /&gt;		success : function (o) {&lt;br /&gt;			// Process the JSON data returned from the server&lt;br /&gt;			var values = [];&lt;br /&gt;			try {&lt;br /&gt;				values = YAHOO.lang.JSON.parse(o.responseText).ResultSet.Result;&lt;br /&gt;			}&lt;br /&gt;			catch (e) {&lt;br /&gt;				return;&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			var el = document.createElement("temp");&lt;br /&gt;			for (var i = 0, len = values.length; i &lt; len; ++i) {&lt;br /&gt;				var v = values[i];&lt;br /&gt;				YAHOO.widget.DataTable.formatDate(el, null, null, YAHOO.util.DataSource.parseDate(v.Date))&lt;br /&gt;				historyLog.innerHTML += '&lt;div class="entry"&gt;&lt;div class="date"&gt;' + el.innerHTML + ' ' + v.Time + '&lt;/div&gt;&lt;div class="text"&gt;&lt;div class="action"&gt;' + v.Action + '&lt;/div&gt;&lt;div class="changes"&gt;' + v.Changes.join('&lt;br&gt;') + '&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;';&lt;br /&gt;			}&lt;br /&gt;		},&lt;br /&gt;&lt;br /&gt;		failure : function (o) {&lt;br /&gt;			if (!YAHOO.util.Connect.isCallInProgress(o)) {&lt;br /&gt;			}&lt;br /&gt;		},&lt;br /&gt;&lt;br /&gt;		timeout : 3000&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	// Make the call to the server for JSON data&lt;br /&gt;	YAHOO.util.Connect.asyncRequest('GET',"json_GetHistoryLog?openagent&amp;unid=" + unid, callbacks);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 14 Aug 2008 13:18:05 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5919</guid>
      <author>casperskovgaard (Casper Skovgaard)</author>
    </item>
    <item>
      <title>Send a request by YUI</title>
      <link>http://snippets.dzone.com/posts/show/5580</link>
      <description>// description of your code here&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;script type="text/javascript" src="&lt;c:url value="/yui/yahoo-dom-event/yahoo-dom-event.js"/&gt;"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="&lt;c:url value="/yui/utilities/utilities.js"/&gt;"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="&lt;c:url value="/yui/dom/dom.js"/&gt;"&gt;&lt;/script&gt;&lt;br /&gt;&lt;script language="javascript"&gt;&lt;br /&gt;&lt;!--&lt;br /&gt;var Event = YAHOO.util.Event, Dom = YAHOO.util.Dom, Connect = YAHOO.util.Connect;&lt;br /&gt;function loadGoodsNameList(goodsType){&lt;br /&gt;	if(goodsType==0||goodsType==1602){&lt;br /&gt;		return;&lt;br /&gt;	}&lt;br /&gt;	var uri = "&lt;c:url value="/lgt/util.do?m=listGoodsName&amp;goodsType="/&gt;"+goodsType+ "&amp;timestamp=" + new Date().getTime(); &lt;br /&gt;	Connect.asyncRequest("GET",uri,{&lt;br /&gt;		success:function(o){&lt;br /&gt;			Dom.get('goodsName').parentNode.innerHTML = "&lt;select name='modelId' id='goodsName' style='width: 200px;'&gt;"+o.responseText+"&lt;/select&gt;";&lt;br /&gt;		},&lt;br /&gt;		failure : function(o) {&lt;br /&gt;			alert(o.status);&lt;br /&gt;			alert(o.statusText);&lt;br /&gt;			alert(o.responseText);&lt;br /&gt;		},&lt;br /&gt;		argument : null});&lt;br /&gt;}&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 04 Jun 2008 08:47:27 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5580</guid>
      <author>collin (QWE)</author>
    </item>
    <item>
      <title>YUI DataTable - Understanding ISO / SQL Date Time Formats</title>
      <link>http://snippets.dzone.com/posts/show/5338</link>
      <description>As of &lt;a href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt; 2.5.1 the DataSource utility (which feeds the DataTable widget) only accepts either native Javascript Date objects or a string formatted to the North American locale (mm/dd/yyyyy) when using parser: "date" in your schema.&lt;br /&gt;&lt;br /&gt;This can cause problems outside the USA, particularly if you are using ISO date formats say from MySQL DateTime columns. So let's fix this and include a Calendar widget for editing.&lt;br /&gt;&lt;br /&gt;First, we depend on &lt;a href="http://www.datejs.com/"&gt;Datejs&lt;/a&gt; so ensure you've already got this loaded into the application. Next you need a couple of custom callback methods&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/**&lt;br /&gt; * Accepts a date string in any format that datejs.com's library can recognise.&lt;br /&gt; * Returns a Date object if successful, false otherwise&lt;br /&gt; */&lt;br /&gt;parseSQLDate = function(data)&lt;br /&gt;{&lt;br /&gt;       var date = null;&lt;br /&gt;       try {date = Date.parse(data);return date;}&lt;br /&gt;       catch(e) {return false;}&lt;br /&gt;};&lt;br /&gt;/**&lt;br /&gt; * This is a formatting callback for YUI DataTable to present date in ISO format&lt;br /&gt; * instead of American mm/dd/yyyy&lt;br /&gt; */&lt;br /&gt;formatDateInDataTable = function(elCell, oRecord, oColumn, oData)&lt;br /&gt;{&lt;br /&gt;       var oDate = oData;&lt;br /&gt;       elCell.innerHTML = oDate.toString('yyyy-MM-dd');&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now to activate modify your schema thus:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;dataSource.responseSchema = {&lt;br /&gt;       resultsList: "items",&lt;br /&gt;       fields: [{key: "created_on", parser: parseSQLDate}]&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And in your columnDefs:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;dataSource.columnDefs = [&lt;br /&gt;       {key: "created_on", label: "Created", editor: "date", formatter: formatDateInDataTable}&lt;br /&gt;];&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Lastly we set up an editor for cells:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;dataTable.subscribe("cellClickEvent", dataTable.onEventShowCellEditor);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;</description>
      <pubDate>Tue, 08 Apr 2008 22:16:35 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5338</guid>
      <author>jamesg (James Green)</author>
    </item>
    <item>
      <title>Code to disable YUI calendar previous and next month links icons</title>
      <link>http://snippets.dzone.com/posts/show/5198</link>
      <description>This solution does not require modifying the yui source and works on YUI version 2.5.0. It will disable the next and previous arrows based on the out of bounds dates you specify with mindate and maxdate when you configure the calendar. Requires YUI dom and a namespace called your_app.&lt;br /&gt;&lt;br /&gt;1) attach an onRender event when you configure the calendar and before you call render&lt;br /&gt;&lt;br /&gt;&lt;code&gt;calendar.renderEvent.subscribe(YAHOO.your_app.calendar().initArrows, calendar);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2) add the following function:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;YAHOO.your_app.calendar = function() {&lt;br /&gt;	&lt;br /&gt;	var addDays = function(date, days) {&lt;br /&gt;		return YAHOO.widget.DateMath.add(date, YAHOO.widget.DateMath.DAY, days);&lt;br /&gt;	};&lt;br /&gt;	&lt;br /&gt;	var showPreviousArrow = function(cal) {&lt;br /&gt;		return showArrow(cal, cal.toDate(cal.cellDates[0]), 1);&lt;br /&gt;	};&lt;br /&gt;&lt;br /&gt;	var showNextArrow = function(cal) {&lt;br /&gt;		return showArrow(cal, cal.toDate(cal.cellDates[cal.cellDates.length-1]), -1);&lt;br /&gt;	};&lt;br /&gt;	&lt;br /&gt;	var showArrow = function(cal, startingDate, step) {&lt;br /&gt;		if (!cal.isDateOOM(startingDate)) { //ie not overlapping&lt;br /&gt;			return !cal.isDateOOB(addDays(startingDate, (-1 * step)));&lt;br /&gt;		}&lt;br /&gt;		for (var i=0; (i * step) &lt; 7; i += step) { //iterate forwards for previous month check, backwards for next month check&lt;br /&gt;			var date = addDays(startingDate, i);&lt;br /&gt;			if (!cal.isDateOOM(date)) { //shortcut exit; as soon as we find an in month date we can supress the arrow&lt;br /&gt;				return false;&lt;br /&gt;			} else if (!cal.isDateOOB(date)) {&lt;br /&gt;				return true;&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;		return false;&lt;br /&gt;	};&lt;br /&gt;	&lt;br /&gt;	return {&lt;br /&gt;		initArrows: function(type, args, cal) {&lt;br /&gt;			if (!showPreviousArrow(cal)) {&lt;br /&gt;				hideArrow(cal, cal.Style.CSS_NAV_LEFT);&lt;br /&gt;			}&lt;br /&gt;&lt;br /&gt;			if (!showNextArrow(cal)) {&lt;br /&gt;				hideArrow(cal, cal.Style.CSS_NAV_RIGHT);&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;	};&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 03 Mar 2008 20:57:33 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/5198</guid>
      <author>robd (Rob Dupuis)</author>
    </item>
    <item>
      <title>Date picker PHP + Javacript</title>
      <link>http://snippets.dzone.com/posts/show/4428</link>
      <description>// description of your code here&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;?php $months = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); ?&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;select id="selMonth" name="selMonth"&gt;&lt;br /&gt;&lt;?php for ($i = 0; $i &lt; count($months); $i++) { ?&gt;&lt;br /&gt;&lt;?php   $month = $months[$i]; ?&gt;&lt;br /&gt;&lt;option value="&lt;?php echo ($i + 1); ?&gt;"&gt;&lt;?php echo $month; ?&gt;&lt;/option&gt;&lt;br /&gt;&lt;?php } ?&gt;&lt;br /&gt;&lt;/select&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;select name="selDay" id="selDay"&gt;&lt;br /&gt;&lt;?php for ($i = 1; $i &lt;= 31; $i++) { ?&gt;&lt;br /&gt;&lt;option value="&lt;?php echo $i; ?&gt;"&gt;&lt;?php echo $i; ?&gt;&lt;/option&gt;&lt;br /&gt;&lt;?php } ?&gt;&lt;br /&gt;&lt;/select&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;select name="selYear" id="selYear"&gt;&lt;br /&gt;&lt;option value="2006"&gt;2006&lt;/option&gt;&lt;br /&gt;&lt;option value="2007" selected="selected"&gt;2007&lt;/option&gt;&lt;br /&gt;&lt;option value="2008"&gt;2008&lt;/option&gt;&lt;br /&gt;&lt;option value="2009"&gt;2009&lt;/option&gt;&lt;br /&gt;&lt;/select&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td valign="top"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="cal1Container"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;	YAHOO.namespace("example.calendar");&lt;br /&gt;&lt;br /&gt;	YAHOO.example.calendar.init = function() {&lt;br /&gt;	&lt;br /&gt;		function handleSelect(type,args,obj) {&lt;br /&gt;			var dates = args[0]; &lt;br /&gt;			var date = dates[0];&lt;br /&gt;			var year = date[0], month = date[1], day = date[2];&lt;br /&gt;&lt;br /&gt;			var selMonth = document.getElementById("selMonth");&lt;br /&gt;			var selDay = document.getElementById("selDay");&lt;br /&gt;			var selYear = document.getElementById("selYear");&lt;br /&gt;			&lt;br /&gt;			selMonth.selectedIndex = month - 1;&lt;br /&gt;			selDay.selectedIndex = day - 1;&lt;br /&gt;&lt;br /&gt;			for (var y=0;y&lt;selYear.options.length;y++) {&lt;br /&gt;				if (selYear.options[y].text == year) {&lt;br /&gt;					selYear.selectedIndex = y;&lt;br /&gt;					break;&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;		function updateCal() {&lt;br /&gt;			var selMonth = document.getElementById("selMonth");&lt;br /&gt;			var selDay = document.getElementById("selDay");&lt;br /&gt;			var selYear = document.getElementById("selYear");&lt;br /&gt;			&lt;br /&gt;			var month = parseInt(selMonth.options[selMonth.selectedIndex].value);&lt;br /&gt;			var day = parseInt(selDay.options[selDay.selectedIndex].value);&lt;br /&gt;			var year = parseInt(selYear.options[selYear.selectedIndex].value);&lt;br /&gt;			&lt;br /&gt;			if (! isNaN(month) &amp;&amp; ! isNaN(day) &amp;&amp; ! isNaN(year)) {&lt;br /&gt;				var date = month + "/" + day + "/" + year;&lt;br /&gt;&lt;br /&gt;				YAHOO.example.calendar.cal1.select(date);&lt;br /&gt;				YAHOO.example.calendar.cal1.cfg.setProperty("pagedate", month + "/" + year);&lt;br /&gt;				YAHOO.example.calendar.cal1.render();&lt;br /&gt;			}&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;		YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container", &lt;br /&gt;																	{ mindate:"1/1/2006",&lt;br /&gt;																	  maxdate:"12/31/2008" });&lt;br /&gt;		YAHOO.example.calendar.cal1.selectEvent.subscribe(handleSelect, YAHOO.example.calendar.cal1, true);&lt;br /&gt;		YAHOO.example.calendar.cal1.render();&lt;br /&gt;&lt;br /&gt;		YAHOO.util.Event.addListener(["selMonth","selDay","selYear"], "change", updateCal);&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	YAHOO.util.Event.onDOMReady(YAHOO.example.calendar.init);&lt;br /&gt;	&lt;br /&gt;	// Initialize pulldowns&lt;br /&gt;	var myDate = new Date();&lt;br /&gt;	var month = myDate.getMonth();&lt;br /&gt;	var day = myDate.getDate();&lt;br /&gt;	var year = myDate.getFullYear();&lt;br /&gt;	var selMonth = document.getElementById("selMonth");&lt;br /&gt;	var selDay = document.getElementById("selDay");&lt;br /&gt;	var selYear = document.getElementById("selYear");&lt;br /&gt;	selMonth.selectedIndex = month;&lt;br /&gt;	selDay.selectedIndex = day - 1;&lt;br /&gt;	selYear.selectedIndex = year - 2006;&lt;br /&gt;	&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear:both" &gt;&lt;/div&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 17 Aug 2007 19:27:52 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/4428</guid>
      <author>tweather (Ted Weatherly)</author>
    </item>
  </channel>
</rss>
