CGI-Application-Util-Diff

 view release on metacpan or  search on metacpan

htdocs/assets/templates/cgi/application/util/diff/form.js  view on Meta::CPAN

function cell_click(arg)
{
	// Q 1) How do I get the /value/ in the cell which was clicked?
	// Q 2) How do I get all the values in the row which was clicked?

	// var target = arg.target;
	// var column = this.getColumn(target);
	// var record = this.getRecord(target);
	// var valueThisCell = record.getData(column.key); // this answers #1
	// var valuesThisRow = record.getData(); // this answers #2

	var row = this.getRecord(arg.target).getData();

	// Wipe out any previous menu.

	var e       = document.getElementById("menu.button");
	e.innerHTML = "";

	// Declare the event handler for when menu items are clicked.

	var onMenuItemClick = function(p_sType, p_aArgs, p_oItem)
	{
		// Set form field action's value for the submit.

		var e    = document.getElementById("action");
		e.value  = p_oItem.value;
		e        = document.getElementById("target");
		e.value  = row.name;
		var sure = false;

		if ( (<tmpl_var name=confirm_action> == 0) || confirm("Action: " + p_oItem.value) )
		{
			sure = true;
		}

		if (sure)
		{
			util_diff_onsubmit();
		}
	};

	// Build menu items. We do it this way so we only ever have 1 menu in existance.

	var item_list;

	if (row.type == "Dir")
	{
		item_list =
		[
<tmpl_loop name=dir_loop>		<tmpl_var name=item>
</tmpl_loop>		];
	}
	else
	{
		item_list =
		[
<tmpl_loop name=file_loop>		<tmpl_var name=item>
</tmpl_loop>		];
	}

	// Instantiate the menu.
	// When the uses selects an item, the above function, onMenuItemClick, will be executed.

	var oMenuButton = new YAHOO.widget.Button
		({
			type: "menu",
			label: row.name,
			menu: item_list,
			container: "menu.button"
		});
}

var util_diff_callback =
{
	success: function(o)
	{
		if (o.responseText !== undefined)
		{
			var data    = YAHOO.lang.JSON.parse(o.responseText);
			var e       = document.getElementById("left");
			e.value     = data.response.left;
			e           = document.getElementById("right");
			e.value     = data.response.right;
			e           = document.getElementById("message");
			e.innerHTML = data.response.message;
			var table_1 = new YAHOO.util.LocalDataSource(data);

			table_1.responseSchema =
			{
			resultsList: "response.output",
			fields:
			[
			{key: "line"}
			],
			};

			var column_defs_1 =
			[
			 {key: "line", label: "Output"},
			];

			var output_table = new YAHOO.widget.DataTable("output", column_defs_1, table_1);
			var table_2      = new YAHOO.util.LocalDataSource(data);

			table_2.responseSchema =
			{
			resultsList: "response.table",
			fields:
			[
			{key: "name"},
			{key: "type"},
			{key: "match"},
			{key: "left_size"},
			{key: "left_mtime"},
			{key: "right_size"},
			{key: "right_mtime"}
			],
			};

			var column_defs_2 =
			[
			 {key: "name",        label: "Name"},
			 {key: "type",        label: "Type"},
			 {key: "match",       label: "Match"},



( run in 1.947 second using v1.01-cache-2.11-cpan-ceb78f64989 )