Skip to content

Commit 36214e3

Browse files
committed
Node search and other fixes
1 parent 6b476e4 commit 36214e3

6 files changed

+8167
-6052
lines changed

src/clusternetwork.js

+56-21
Original file line numberDiff line numberDiff line change
@@ -3666,12 +3666,14 @@ var hivtrace_cluster_network_graph = function (
36663666
//var event = new CustomEvent('hiv-trace-viz-volatile-update', { detail: container });
36673667
//container.node().dispatchEvent (event);
36683668

3669+
const coe = clustersOfInterest.get_editor();
3670+
36693671
container
36703672
.selectAll("td, th")
36713673
.filter((d) => "volatile" in d)
36723674
.each(function (d, i) {
36733675
// TODO: QUESTION: Should this have priority_set_editor arg passed in as well?
3674-
tables.format_a_cell(d, i, this);
3676+
tables.format_a_cell(d, i, this, coe);
36753677
});
36763678
};
36773679

@@ -3680,6 +3682,7 @@ var hivtrace_cluster_network_graph = function (
36803682
if (self.subcluster_table) {
36813683
self.update_volatile_elements(self.subcluster_table);
36823684
}
3685+
//console.log ("redraw_tables", clustersOfInterest.get_editor(), nodesTab.getNodeTable());
36833686
self.update_volatile_elements(nodesTab.getNodeTable());
36843687
if (self.priority_set_table) {
36853688
self.update_volatile_elements(self.priority_set_table);
@@ -3689,9 +3692,11 @@ var hivtrace_cluster_network_graph = function (
36893692
self.draw_extended_node_table = function (
36903693
node_list,
36913694
container,
3692-
extra_columns
3695+
extra_columns,
3696+
options
36933697
) {
36943698
container = container || nodesTab.getNodeTable();
3699+
options = options || {};
36953700

36963701
if (container) {
36973702
node_list = node_list || self.aggregate_indvidual_level_records();
@@ -3724,13 +3729,13 @@ var hivtrace_cluster_network_graph = function (
37243729
self.displayed_node_subset
37253730
);
37263731
node_data.splice(0, 1);
3732+
37273733
var table_headers = _.map(self.displayed_node_subset, (n, col_id) => ({
37283734
value: n.raw_attribute_key,
37293735
sort: "value",
3730-
filter: true,
3736+
filter: options && options["no-filter"] ? false : true,
37313737
volatile: true,
37323738
help: "label" in n ? n.label : n.raw_attribute_key,
3733-
//format: (d) => "label" in d ? d.label : d.raw_attribute_key,
37343739
callback: function (element, payload) {
37353740
var dropdown = d3
37363741
.select(element)
@@ -3806,7 +3811,8 @@ var hivtrace_cluster_network_graph = function (
38063811
self.draw_extended_node_table(
38073812
node_list,
38083813
container,
3809-
extra_columns
3814+
extra_columns,
3815+
options
38103816
);
38113817
});
38123818
});
@@ -6072,6 +6078,11 @@ var hivtrace_cluster_network_graph = function (
60726078
type: compute_type(d.type, d),
60736079
};
60746080

6081+
if (d.enum) {
6082+
def.values = _.clone(d.enum);
6083+
def.input = "select";
6084+
}
6085+
60756086
if (def.type == "date") {
60766087
def.plugin = "datepicker";
60776088
def.plugin_config = {
@@ -6111,7 +6122,6 @@ var hivtrace_cluster_network_graph = function (
61116122
];
61126123
}
61136124
}
6114-
61156125
return def;
61166126
}),
61176127
(d) => d.label
@@ -6126,7 +6136,8 @@ var hivtrace_cluster_network_graph = function (
61266136
if (query_buttons.empty()) {
61276137
d3.select(self.node_search_div)
61286138
.append("div")
6129-
.classed("alert alert-info alert-dismissible alert-small", true)
6139+
.classed("alert alert-info alert-dismissible", true)
6140+
.style("font-size", "150%")
61306141
.text(
61316142
"Please define some search criteria to find and display information on persons in the network. By default, no persons are displayed."
61326143
)
@@ -6157,17 +6168,32 @@ var hivtrace_cluster_network_graph = function (
61576168
.classed("btn btn-primary", true);
61586169
}
61596170

6160-
$(self.node_search_div).queryBuilder({
6161-
plugins: [
6162-
"filter-description",
6163-
"unique-filter",
6164-
"bt-tooltip-errors",
6165-
"invert",
6166-
"not-group",
6167-
],
6171+
let qb = $(self.node_search_div).queryBuilder({
6172+
plugins: {
6173+
"filter-description": null,
6174+
"bt-tooltip-errors": null,
6175+
"not-group": null,
6176+
},
61686177
filters: self.qb_filter_def,
61696178
});
61706179

6180+
d3.select($(self.node_search_div).get(0))
6181+
.selectAll(".group-conditions")
6182+
.selectAll("label")
6183+
.classed("btn-primary", false)
6184+
.classed("btn-default", true);
6185+
6186+
$(self.node_search_div).on(
6187+
"afterInit.queryBuilder afterSetRules.queryBuilder afterAddGroup.queryBuilder",
6188+
function (e, level) {
6189+
d3.select($(self.node_search_div).get(0))
6190+
.selectAll(".group-conditions")
6191+
.selectAll("label")
6192+
.classed("btn-primary", false)
6193+
.classed("btn-default", true);
6194+
}
6195+
);
6196+
61716197
self.process_search_field = (value, condition) => {
61726198
switch (condition.type) {
61736199
case "string": {
@@ -6273,25 +6299,34 @@ var hivtrace_cluster_network_graph = function (
62736299
self.aggregate_indvidual_level_records();
62746300
}
62756301

6276-
self.node_query_button_reset.on("click", (d) =>
6277-
$(self.node_search_div).queryBuilder("reset")
6278-
);
6302+
self.node_query_button_reset.on("click", (d) => {
6303+
$(self.node_search_div).queryBuilder("reset");
6304+
self.draw_extended_node_table([], null, null, {
6305+
"no-filter": true,
6306+
});
6307+
});
6308+
62796309
self.node_query_button_search.on("click", (d) => {
62806310
var result = $(self.node_search_div).queryBuilder("getRules");
62816311
if (!$.isEmptyObject(result)) {
62826312
self.rule_lc(result);
62836313
self.draw_extended_node_table(
62846314
_.filter(self.aggregate_entity_data, (d) =>
62856315
self.process_search(d, result)
6286-
)
6316+
),
6317+
null,
6318+
null,
6319+
{ "no-filter": true }
62876320
);
62886321
}
62896322
});
62906323
}
62916324

6292-
self.draw_extended_node_table([]);
6325+
self.draw_extended_node_table([], null, null, { "no-filter": true });
62936326
} else {
6294-
self.draw_node_table(self.extra_node_table_columns);
6327+
self.draw_node_table(self.extra_node_table_columns, null, null, {
6328+
"no-filter": true,
6329+
});
62956330
}
62966331
} else {
62976332
rendered_nodes = self.network_svg.selectAll(".node");

src/clustersOfInterest.js

-1
Original file line numberDiff line numberDiff line change
@@ -986,7 +986,6 @@ function open_editor(
986986
existing_set.nodes
987987
);
988988
}
989-
990989
panel_object.table_handler(this);
991990
},
992991
dragit: {

src/globals.js

+6
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,11 @@ const SubclusterSeparator = ".";
530530
the character used to define subclusters, e.g. the '.' in 2.13
531531
*/
532532

533+
const CoIAddLimit = 128;
534+
/**
535+
maximum number of nodes that can be added to a CoI from a table at once.
536+
*/
537+
533538
module.exports = {
534539
Categorical,
535540
CategoricalBase,
@@ -559,4 +564,5 @@ module.exports = {
559564
SequentialColor,
560565
ShapeOrdering,
561566
SubclusterSeparator,
567+
CoIAddLimit,
562568
};

src/hiv_tx_network.js

-2
Original file line numberDiff line numberDiff line change
@@ -1684,8 +1684,6 @@ class HIVTxNetwork {
16841684
}
16851685
);
16861686

1687-
/** handle CoI growth */
1688-
16891687
if (
16901688
auto_extend &&
16911689
pg.tracking !== kGlobals.CDCCOITrackingOptionsNone

0 commit comments

Comments
 (0)