1. Did minor refactor in preparation for saving the state & possibly just swapping daata instead of redirecting to a completely new page when the change in parameter happens on the temporal graph vis.

This commit is contained in:
cdtank 2011-01-26 18:15:17 +00:00
parent 8b9d3cb4b7
commit f69e2eb904
3 changed files with 48 additions and 40 deletions

View file

@ -13,19 +13,9 @@ $(document).ready(function() {
$notificationContainer = $("#notification-container").notify();
var jsonObject = {
prepare : function(arg1){
loadData(arg1);
}
};
graphContainer = $("#graphContainer");
tableDiv = $('#paginatedTable');
// initial display of the grid when the page loads
init(graphContainer);
//click event handler for clear button
$("a.clear-selected-entities").click(function(){
clearRenderedObjects();
@ -91,9 +81,6 @@ $(document).ready(function() {
}
});
//parse the json object and pass it to loadData
jsonObject.prepare(jQuery.parseJSON(jsonString));
function performEntityCheckboxUnselectedActions(entity, checkboxValue, checkbox) {
removeUsedColor(entity);
@ -114,6 +101,9 @@ $(document).ready(function() {
renderLineGraph(renderedObjects, entity);
labelToCheckedEntities[checkboxValue] = checkbox;
labelToCheckedEntities[checkboxValue].entity = entity;
// console.log(labelToCheckedEntities[checkboxValue], entity);
/*
* To highlight the rows belonging to selected entities.
@ -164,11 +154,11 @@ $(document).ready(function() {
});
/*
* When the elements in the paginated div
* are clicked this event handler is called
*/
$("input.if_clicked_on_school").live('click', function () {
/*
* When the elements in the paginated div
* are clicked this event handler is called
*/
$("input." + entityCheckboxSelectorDOMClass).live('click', function () {
var checkbox = $(this);
var checkboxValue = $(this).attr("value");
@ -189,25 +179,39 @@ $(document).ready(function() {
});
}
/*
This will make sure that top 3 entites are selected by default when the page loads.
function initiateTemporalGraphRenderProcess(givenGraphContainer, jsonData) {
*/
$.each($("input.if_clicked_on_school"), function(index, checkbox) {
/*
* initial display of the grid when the page loads
* */
init(givenGraphContainer);
if (index > 2) {
return false;
}
/*
* render the temporal graph per the sent content.
* */
loadData(jQuery.parseJSON(jsonData));
$(this).attr('checked', true);
/*
* This will make sure that top 3 entities are selected by default when the page loads.
*/
$.each($("input." + entityCheckboxSelectorDOMClass), function(index, checkbox) {
var checkboxValue = $(this).attr("value");
var entity = labelToEntityRecord[checkboxValue];
if (index > 2) {
return false;
}
performEntityCheckboxSelectedActions(entity, checkboxValue, $(this));
$(this).attr('checked', true);
performEntityCheckboxClickedRedrawActions();
var checkboxValue = $(this).attr("value");
var entity = labelToEntityRecord[checkboxValue];
});
performEntityCheckboxSelectedActions(entity, checkboxValue, $(this));
performEntityCheckboxClickedRedrawActions();
});
}
initiateTemporalGraphRenderProcess(graphContainer, jsonString);
});

View file

@ -862,7 +862,7 @@ function generateCheckBoxes(label, checkedFlag, fontFlag){
var checkbox = $('<input>');
checkbox.attr('type','checkbox');
checkbox.attr('class','if_clicked_on_school');
checkbox.attr('class', entityCheckboxSelectorDOMClass);
checkbox.attr('value', label);
if(checkedFlag == 1){
checkbox.attr('checked');
@ -988,7 +988,7 @@ function prepareTableForDataTablePagination(jsonData){
var row = $('<tr>');
var checkboxTD = $('<td>');
checkboxTD.html('<div class="disabled-checkbox-event-receiver">&nbsp;</div><input type="checkbox" class="if_clicked_on_school" value="' + index + '"'+'/>');
checkboxTD.html('<div class="disabled-checkbox-event-receiver">&nbsp;</div><input type="checkbox" class="' + entityCheckboxSelectorDOMClass + '" value="' + index + '"'+'/>');
var labelTD = $('<td>');
labelTD.css("width", "100px");
@ -1118,7 +1118,7 @@ function getSize(map){
function disableUncheckedEntities(){
$.each($("input[type=checkbox].if_clicked_on_school:not(:checked)"), function(index, val){
$.each($("input[type=checkbox]." + entityCheckboxSelectorDOMClass + ":not(:checked)"), function(index, val){
$(val).attr('disabled', true);
$(val).prev().show();
});
@ -1147,7 +1147,7 @@ function disableUncheckedEntities(){
function enableUncheckedEntities(){
$.each($("input[type=checkbox].if_clicked_on_school:not(:checked)"), function(index, val){
$.each($("input[type=checkbox]." + entityCheckboxSelectorDOMClass + ":not(:checked)"), function(index, val){
$(val).attr('disabled', false);
$(val).prev().hide();
});

View file

@ -33,6 +33,8 @@
<#assign parameterOptions = [publicationParameter, grantParameter]>
<#assign entityCheckboxSelectorDOMClass = "entity-selector-checkbox">
<#-- Javascript files -->
<#assign excanvas = '${urls.base}/js/visualization/entitycomparison/jquery_plugins/flot/excanvas.js'>
@ -84,6 +86,8 @@ var organizationVIVOProfileURL = "${organizationVivoProfileURL}";
var loadingImageLink = contextPath + "/images/visualization/ajax-loader.gif";
var entityCheckboxSelectorDOMClass = "${entityCheckboxSelectorDOMClass}";
/*
This has to be declared before making a call to GUI event manager JS.
*/