function ScatterplotDialog() {
this._createDialog();
}
ScatterplotDialog.prototype._createDialog = function() {
var self = this;
var frame = DialogSystem.createDialog();
frame.width("900px");
var header = $('
').addClass("dialog-header").text('Scatterplot Matrix').appendTo(frame);
var body = $('').addClass("dialog-body").appendTo(frame);
var footer = $(
''
).appendTo(frame);
var html = $(
'
' +
'' +
'
'
).appendTo(body);
this._elmts = DOM.bind(html);
var left_footer = footer.find(".left");
var right_footer = footer.find(".right");
$('').text("Close").click(function() { self._dismiss(); }).appendTo(right_footer);
this._renderMatrix(theProject.columnModel.columns);
this._level = DialogSystem.showDialog(frame);
};
ScatterplotDialog.prototype._renderMatrix = function(columns) {
var self = this;
var container = this._elmts.tableContainer;
if (columns.length > 0) {
var table = $('
').addClass("scatterplot-matrix-table")[0];
for (var i = 0; i < columns.length; i++) {
var tr = table.insertRow(table.rows.length);
for (var j = 0; j < i; j++) {
var cx = columns[i];
var cy = columns[j];
var plotter_params = {
'cx' : cx.name,
'cy' : cy.name,
'w' : 20,
'h' : 20
};
var params = {
project: theProject.id,
engine: JSON.stringify(ui.browsingEngine.getJSON()),
plotter: JSON.stringify(plotter_params)
}
var url = "/command/get-scatterplot?" + $.param(params);
var name = cx.name + '(x) vs. ' + cy.name + '(y)';
var cell = $(tr.insertCell(j));
var link = $('').attr("title",name).click(function() {
ui.browsingEngine.addFacet(
"scatterplot",
{
"name" : name,
"x_column" : cx.name,
"y_column" : cy.name,
"expression" : "value",
"mode" : "scatterplot"
}
);
//self._dismiss();
});
var plot = $('').addClass("scatterplot").appendTo(link);
link.appendTo(cell);
}
$(tr.insertCell(i)).text(columns[i]);
for (var j = i + 1; j < columns.length; j++) {
$(tr.insertCell(j)).text(" ");
}
}
container.empty().append(table);
} else {
container.html(
'