Skip to content

Commit

Permalink
Refactoring setup_controls and setup_waveforms. Addresses #684
Browse files Browse the repository at this point in the history
  • Loading branch information
alexsielicki committed Mar 30, 2017
1 parent 86173e4 commit a53b75d
Showing 1 changed file with 28 additions and 34 deletions.
62 changes: 28 additions & 34 deletions web-server/plugins/slycat-timeseries-model/js/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,9 +181,7 @@ function setup_page()
clusters_data = new Array(clusters.length);
waveforms_data = new Array(clusters.length);
waveforms_metadata = new Array(clusters.length);
setup_controls();
setup_widgets();
setup_waveforms();
retrieve_bookmarked_state();
},
error: artifact_missing
Expand All @@ -198,7 +196,6 @@ function setup_page()
table_metadata = metadata;
setup_widgets();
setup_colordata();
setup_controls();
retrieve_bookmarked_state();
},
error: artifact_missing
Expand Down Expand Up @@ -271,9 +268,7 @@ function setup_page()
selected_nodes[i] = bookmark[i + "-selected-nodes"];
}

setup_controls();
setup_widgets();
setup_waveforms();
setup_colordata();
});
}
Expand Down Expand Up @@ -330,10 +325,33 @@ function retrieve_sorted_column(parameters)
});
}

function setup_controls()
function setup_widgets()
{
if(bookmark && s_to_a(clusters))
// Setup waveforms ...
if(bookmark && s_to_a(clusters) && cluster_index !== null && waveforms_data[cluster_index] === undefined && waveforms_metadata[cluster_index] === undefined)
{
waveforms_data[cluster_index] = null;
waveforms_metadata[cluster_index] = null;

// Load the waveforms.
get_model_arrayset({
server_root : server_root + "",
mid : model._id,
aid : "preview-" + s_to_a(clusters)[cluster_index],
success : function(result, metadata)
{
waveforms_data[cluster_index] = result;
waveforms_metadata[cluster_index] = metadata;
setup_widgets();
},
error : artifact_missing
});
}

// Setup controls ...
if(bookmark && s_to_a(clusters) && clusters_data[cluster_index] === undefined)
{
clusters_data[cluster_index] = null;
$.ajax(
{
url : server_root + "models/" + model._id + "/files/cluster-" + s_to_a(clusters)[cluster_index],
Expand Down Expand Up @@ -411,31 +429,7 @@ function setup_controls()
$("#table").table("option", "variable-selection", [selected_column[cluster_index]]);
});
}
}

function setup_waveforms()
{
if(bookmark && s_to_a(clusters) && cluster_index !== null && waveforms_data !== null)
{

// Load the waveforms.
get_model_arrayset({
server_root : server_root + "",
mid : model._id,
aid : "preview-" + s_to_a(clusters)[cluster_index],
success : function(result, metadata)
{
waveforms_data[cluster_index] = result;
waveforms_metadata[cluster_index] = metadata;
setup_widgets();
},
error : artifact_missing
});
}
}

function setup_widgets()
{
// Setup the color switcher ...
if(!colorswitcher_ready && bookmark && colormap !== null)
{
Expand Down Expand Up @@ -469,7 +463,7 @@ function setup_widgets()

// Setup the waveform plot ...
if(
!waveformplot_ready && bookmark && (cluster_index !== null) && (waveforms_data !== null) && (waveforms_data[cluster_index] !== undefined)
!waveformplot_ready && bookmark && (cluster_index !== null) && (waveforms_data !== null) && (waveforms_data[cluster_index] !== undefined && waveforms_data[cluster_index] !== null)
&& color_array !== null && table_metadata !== null && selected_simulations !== null && selected_waveform_indexes !== null
)
{
Expand Down Expand Up @@ -607,7 +601,7 @@ function setup_widgets()
}

// Setup the dendrogram ...
if(!dendrogram_ready && bookmark && s_to_a(clusters) && cluster_index !== null && clusters_data[cluster_index] !== undefined
if(!dendrogram_ready && bookmark && s_to_a(clusters) && cluster_index !== null && clusters_data[cluster_index] !== undefined && clusters_data[cluster_index] !== null
&& color_array !== null && selected_simulations !== null && colormap !== null && selected_column_min !== null && selected_column_max !== null
&& sort_variable !== null
)
Expand Down Expand Up @@ -926,7 +920,7 @@ function node_toggled(node){
function update_dendrogram(cluster)
{
// Retrieve cluster data if it's not already in the cache
if(clusters_data[cluster] === undefined) {
if((clusters_data[cluster] === undefined) || (clusters_data[cluster] === null)) {
$.ajax(
{
url : server_root + "models/" + model._id + "/files/cluster-" + s_to_a(clusters)[cluster],
Expand Down

0 comments on commit a53b75d

Please sign in to comment.