Created
August 20, 2009 16:17
-
-
Save web-zen/171168 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// User Dropdown Custom Formatter | |
YAHOO.widget.DataTable.Formatter.lookup = function(elCell, oRecord, oColumn, oData) { | |
var lookupTable = oColumn.lookupTable || (oColumn.editor instanceof YAHOO.widget.DropdownCellEditor) && oColumn.editor.dropdownOptions; | |
if (YAHOO.lang.isArray(lookupTable)) { | |
for (var i = 0; i < lookupTable.length; i++) { | |
if (lookupTable[i].value === oData) { | |
elCell.innerHTML = lookupTable[i].label; | |
return; | |
} | |
} | |
} | |
elCell.innerHTML = oData || ""; // if oData is null, show a blank. | |
}; | |
var handleSuccess = function(o){ | |
} | |
var handleFailure = function(o){ | |
} | |
var callback = | |
{ | |
success:handleSuccess, | |
failure: handleFailure, | |
argument: { foo:"foo", bar:"bar" } | |
}; | |
// Get list of users | |
var myUsersDataSource = new YAHOO.util.XHRDataSource('db_taskmanager.php?action=select-users'); // instantiate XHRDataSource for Ajax | |
myUsersDataSource.responseType = YAHOO.util.XHRDataSource.TYPE_JSON; // expect to parse JSON data | |
myUsersDataSource.responseSchema = {resultsList: "usersList", fields: ["value", "label"]}; // columns to pass into the datatable object | |
// Define Editors for DataTable | |
var myEditor = new YAHOO.widget.TextboxCellEditor({disableBtns:false, asyncSubmitter: updateRecord}); | |
var myDDEditor = new YAHOO.widget.DropdownCellEditor({dropdownOptions:myUsersDataSource,disableBtns:true, asyncSubmitter: updateRecord}); | |
//Columns actually displayed in myDataTable | |
var myColumnDefs = [ | |
{key:"XMLDocID", isPrimaryKey:true, hidden:true}, | |
{key:""}, | |
{key:"Title", label: "Title", sortable: "true", editor: myEditor}, | |
{key:"TaskDesc", label: "TaskDesc", maxAutoWidth: "250", editor: myEditor}, | |
{key:"XMLDocURI", label: "XMLDocURI", maxAutoWidth: "200", editor: myEditor}, | |
{key:"XMLDocFilename", label: "XMLDocFilename", maxAutoWidth: "200", editor: myEditor}, | |
{key:"Author", label: "Author", minWidth: "200", maxAutoWidth: "300", formatter:'lookup', editor: myDDEditor}, | |
{key:"Editor", label: "Editor", maxAutoWidth: "100", formatter:'lookup', editor: myDDEditor}, | |
{key:"Reviewer", label: "Reviewer", maxAutoWidth: "100", formatter:'lookup', editor: myDDEditor}, | |
{key:"Publisher", label: "Publisher", maxAutoWidth: "100", formatter:'lookup', editor: myDDEditor}, | |
{key:"CreatedOn", label: "CreatedOn", maxAutoWidth: "100"}, | |
{key:"UpdatedOn", label: "UpdatedOn", maxAutoWidth: "100"}, | |
{key:"Standard", label: "Standard", maxAutoWidth: "100", editor: myEditor}, | |
{key:'delete', label:' ', className:'delete-button', action:'delete', formatter: delToolTip} | |
]; | |
// Config variables for myDataTable | |
var myConfigs = { | |
paginator : new YAHOO.widget.Paginator({ | |
rowsPerPage : 15, | |
selectionMode: "single" | |
}), | |
scrollable: "true", | |
sortedBy:{ | |
key: 'Title', | |
dir: YAHOO.widget.DataTable.CLASS_ASC | |
} | |
}; | |
var myDataSource = new YAHOO.util.XHRDataSource('db_taskmanager.php?action=select-tasks'); | |
myDataSource.responseType = YAHOO.util.XHRDataSource.TYPE_JSON; | |
// responseSchema specifies the columns to pass into the datatable object | |
myDataSource.responseSchema = {resultsList: "tasksList", fields: ["XMLDocID", "Title", "TaskDesc", "XMLDocURI", "XMLDocFilename", "Author", "Editor", "Reviewer", "Publisher", "CreatedOn", "UpdatedOn", "Standard"]}; | |
// render the datatable | |
var myDataTable = new YAHOO.widget.DataTable("dt-container", myColumnDefs, myDataSource, myConfigs); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment