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 )