Skip to content

Commit 87e0b29

Browse files
author
Gaurav SinghaRoy
committed
adding of filters to UI from object selection
1 parent f885273 commit 87e0b29

4 files changed

Lines changed: 39 additions & 2 deletions

File tree

app/assets/javascripts/resources/querybuilder.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,23 @@ QueryBuilder = {
259259
property_click : function(uri, name, type){
260260
show_loading();
261261
$.get("/query/property_ranges.js?property_uri="+uri+"&type="+type+"&dataset="+QueryBuilder.datasets.get_selected()+"&property_name="+name);
262+
},
263+
filter : {
264+
add_objects : function(property_uri, property_name, data){
265+
$("#qb_properties_properties_selected_filters_header").show();
266+
$("#qb_properties_properties_selected_filters_list").show();
267+
var uris = "";
268+
var names = "";
269+
for(var i=0;i<data.length;i++){
270+
if(i>0){
271+
uris += ",";
272+
names += ", ";
273+
}
274+
uris += data[i].uri;
275+
names += "'"+data[i].name+"'";
276+
}
277+
$("#qb_properties_properties_selected_filters_list").append("<div class=\"list-group-item\" property-uri=\""+property_uri+"\" filter-value=\""+uris+"\"><strong>"+property_name+"</strong> "+names+"</div>");
278+
}
262279
}
263280
},
264281

@@ -380,6 +397,13 @@ QueryBuilder = {
380397
result.push({name : $(this).attr("object-name"), uri : $(this).attr("uri")})
381398
});
382399
return result;
400+
},
401+
done_click : function(){
402+
var selected_objects = QueryBuilder.objects.get_selected_objects();
403+
if(selected_objects.length > 0){
404+
QueryBuilder.properties.filter.add_objects($("#hdn_selector_property_uri").val(),$("#hdn_selector_property_name").val(),selected_objects);
405+
}
406+
$("#class_selector_modal").modal('hide');
383407
}
384408

385409
}

app/views/query/_properties_selector_body.html.erb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</div>
66
<div class="col-md-5">
77
<div class="btn-group pull-right">
8-
<button type="button" class="btn btn-success" data-dismiss="modal">Done</button>
8+
<button type="button" class="btn btn-success" onclick="QueryBuilder.objects.done_click()">Done</button>
99
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
1010
</div>
1111
</div>
@@ -18,6 +18,8 @@
1818
<div class="row" id="class_selector_class_main">
1919
<div class="col-md-12">
2020
<input type="hidden" id="hdn_objects_of_class" />
21+
<input type="hidden" id="hdn_selector_property_uri"/>
22+
<input type="hidden" id="hdn_selector_property_name"/>
2123
<input type="text" class="form-control" placeholder="Type in objects here ... " id="txt_search_objects" required >
2224
<input type="hidden" id="hdn_searched_object_value" />
2325
<input type="hidden" id="hdn_done_searching_object" value="false"/>

app/views/query/builder.html.erb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,16 @@
113113
</div>
114114
</div>
115115
<div class="panel-body">
116-
<small> Filter some specific properties of the selected class</small>
116+
<div class="row">
117+
<div class="col-md-12">
118+
<small> Filter some specific properties of the selected class</small>
119+
</div>
120+
</div>
121+
</div>
122+
<div class="panel-heading alert" style="display:none;" id="qb_properties_properties_selected_filters_header">
123+
Selected filters
124+
</div>
125+
<div class="list-group" id="qb_properties_properties_selected_filters_list" style="display:none;">
117126
</div>
118127
<div class="panel-heading alert">
119128
<div class="row">

app/views/query/property_ranges.js.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ selector_modal.find(".modal-title").first().html("\"<%=params[:property_name]%>\
1313
end
1414
%>
1515
$("#object_selector_header").find("p").first().html("Search objects for <%=display_object_classes.html_safe%>");
16+
$("#hdn_selector_property_uri").val("<%=params[:property_uri]%>");
17+
$("#hdn_selector_property_name").val("<%=params[:property_name]%>");
1618
selector_modal.find(".modal-footer").hide();
1719
<%else%>
1820
selector_modal.find(".modal-body").first().html("<%=escape_javascript render :partial=>'query/properties_selector_body', :locals=>{:mode=>'datatype'}%>");

0 commit comments

Comments
 (0)