Skip to content

Commit

Permalink
checkbox to hide object by types
Browse files Browse the repository at this point in the history
  • Loading branch information
Tom-TBT committed Nov 12, 2023
1 parent 9c421dc commit 6089b10
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 32 deletions.
9 changes: 8 additions & 1 deletion omero_tagsearch/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@ class TagSearchForm(Form):
selectedTags = MultipleChoiceField()
excludedTags = MultipleChoiceField()
operation = ChoiceField()
results_preview = BooleanField()
results_preview = BooleanField(initial=True)
view_image = BooleanField(initial=True)
view_dataset = BooleanField(initial=True)
view_project = BooleanField(initial=True)
view_well = BooleanField(initial=True)
view_acquisition = BooleanField(initial=True)
view_plate = BooleanField(initial=True)
view_screen = BooleanField(initial=True)

def __init__(self, tags, conn=None, *args, **kwargs):
super(TagSearchForm, self).__init__(*args, **kwargs)
Expand Down
14 changes: 7 additions & 7 deletions omero_tagsearch/templates/omero_tagsearch/search_details.html
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
{% endwith %}
{% endfor %}
{% for c in manager.containers.project %}
<tr id="project-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="project-{{ c.id }}" class="{{ c.getPermsCss }} project_row">
<td class="image">
<img id="{{ c.id }}" src="{% static "webgateway/img/folder16.png" %}" alt="project" title="{{ c.name }}"/>
</td>
Expand All @@ -135,7 +135,7 @@
</tr>
{% endfor %}
{% for c in manager.containers.screen %}
<tr id="screen-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="screen-{{ c.id }}" class="{{ c.getPermsCss }} screen_row">
<td class="image">
<img id="{{ c.id }}" src="{% static "webclient/image/folder_screen16.png" %}" alt="screen" title="{{ c.name }}"/>
</td>
Expand All @@ -149,7 +149,7 @@
</tr>
{% endfor %}
{% for c in manager.containers.dataset %}
<tr id="dataset-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="dataset-{{ c.id }}" class="{{ c.getPermsCss }} dataset_row">
<td class="image">
<img id="{{ c.id }}" src="{% static "webgateway/img/folder_image16.png" %}" alt="dataset" title="{{ c.name }}"/>
</td>
Expand All @@ -163,7 +163,7 @@
</tr>
{% endfor %}
{% for c in manager.containers.plate %}
<tr id="plate-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="plate-{{ c.id }}" class="{{ c.getPermsCss }} plate_row">
<td class="image">
<img id="{{ c.id }}" src="{% static "webclient/image/folder_plate16.png" %}" alt="plate" title="{{ c.name }}"/>
</td>
Expand All @@ -177,7 +177,7 @@
</tr>
{% endfor %}
{% for c in manager.containers.acquisition %}
<tr id="acquisition-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="acquisition-{{ c.id }}" class="{{ c.getPermsCss }} acquisition_row">
<td class="image">
<img id="{{ c.id }}" src="{% static "webclient/image/run16.png" %}" alt="acquisition" title="{{ c.name }}"/>
</td>
Expand All @@ -191,7 +191,7 @@
</tr>
{% endfor %}
{% for c in manager.containers.well %}
<tr id="well-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="well-{{ c.id }}" class="{{ c.getPermsCss }} well_row">
<td class="image">
<img id="{{ c.id }}" src="{% static "webclient/image/well16.png" %}" alt="well" title="{{ c.name }}"/>
</td>
Expand All @@ -205,7 +205,7 @@
</tr>
{% endfor %}
{% for c in manager.containers.image %}
<tr id="image-{{ c.id }}" class="{{ c.getPermsCss }}">
<tr id="image-{{ c.id }}" class="{{ c.getPermsCss }} image_row">
<td class="image">
<img class="search_thumb" id="{{ c.id }}" src="{% url 'render_thumbnail_resize' 96 c.id %}" alt="image" title="{{ c.name }}"/>
</td>
Expand Down
72 changes: 49 additions & 23 deletions omero_tagsearch/templates/omero_tagsearch/tagnav.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,14 @@
left: 5
});

function change_row_display(checked, rowClass) {
if (checked) {
$(rowClass).show();
} else {
$(rowClass).hide();
}
}

// Form Submission
$("#tagSearchForm").ajaxForm({
beforeSubmit: function() {
Expand All @@ -80,15 +88,14 @@
$(".tagnav-acquisition span").html(data.acquisition_count);
$(".tagnav-well span").html(data.well_count);
$(".tagnav-image span").html(data.image_count);

if (data.preview) {
$("#filtersearch").removeClass('hidden');
OME.table_selection_changed();
} else {
$("#filtersearch").addClass('hidden');
}


// Hide any options that are no longer possible and
// show any that have become possible
$("#id_selectedTags option").each(function() {
Expand All @@ -109,8 +116,8 @@

// Preserve the order of the select because otherwise Chosen will show the same order as
// the underlying select. i.e. the original option ordering
var selection = $('#id_selectedTags').getSelectionOrder();
var selection = $('#id_excludedTags').getSelectionOrder();
var selection_incl = $('#id_selectedTags').getSelectionOrder();
var selection_excl = $('#id_excludedTags').getSelectionOrder();

// Update the chosen selector
$("#id_selectedTags").trigger("chosen:updated");
Expand All @@ -119,27 +126,27 @@
// $("#id_selectedTags").trigger("liszt:updated");

// Restore the ordering
$('#id_selectedTags').setSelectionOrder(selection);
$("#id_excludedTags").setSelectionOrder(selection);
$('#id_selectedTags').setSelectionOrder(selection_incl);
$("#id_excludedTags").setSelectionOrder(selection_excl);

}
},
});

$('#id_operation').change(function() {
$("#tagSearchForm").submit();
});

// Selection change
$( "#id_selectedTags" ).chosen().change(function(event, params) {

// Selection or deselection made
if (params.selected || params.deselected) {
// Instead of submitting, serialize the input data and load the url
$("#tagSearchForm").submit();
}
});
$( "#id_excludedTags" ).chosen().change(function(event, params) {

// Selection or deselection made
if (params.selected || params.deselected) {
// Instead of submitting, serialize the input data and load the url
$("#tagSearchForm").submit();
}
});
Expand All @@ -160,15 +167,34 @@
}
});

$('#id_operation').change(function() {
$("#tagSearchForm").submit();
});

$('#id_view_project').change(function() {change_row_display($(this).is(":checked"), ".project_row");});
$('#id_view_dataset').change(function() {change_row_display($(this).is(":checked"), ".dataset_row");});
$('#id_view_screen').change(function() {change_row_display($(this).is(":checked"), ".screen_row");});
$('#id_view_plate').change(function() {change_row_display($(this).is(":checked"), ".plate_row");});
$('#id_view_well').change(function() {change_row_display($(this).is(":checked"), ".well_row");});
$('#id_view_acquisition').change(function() {change_row_display($(this).is(":checked"), ".acquisition_row");});
$('#id_view_image').change(function() {change_row_display($(this).is(":checked"), ".image_row");});

$("#filtersearch label").inFieldLabels();

OME.table_selection_changed(); // clear selection (hides acquisition & preview tabs)
})


// The only way I found to hide rows. Called 3 times when ajax form is returned
var target = document.getElementById('content_details');
// Create an observer instance
var observer = new MutationObserver(function(mutations) {
change_row_display($('#id_view_project').is(":checked"), ".project_row");
change_row_display($('#id_view_dataset').is(":checked"), ".dataset_row");
change_row_display($('#id_view_screen').is(":checked"), ".screen_row");
change_row_display($('#id_view_plate').is(":checked"), ".plate_row");
change_row_display($('#id_view_well').is(":checked"), ".well_row");
change_row_display($('#id_view_acquisition').is(":checked"), ".acquisition_row");
change_row_display($('#id_view_image').is(":checked"), ".image_row");
});
var config = { attributes: true, childList: true, subtree: true };
observer.observe(target, config); // Pass in the target node, as well as the observer options
});
</script>

{% endblock %}
Expand Down Expand Up @@ -216,21 +242,21 @@ <h2>{% trans "Tag Search" %}</h2>
title="Remove from the results the objects having excluded tags.">
<img src="{% static 'webgateway/img/help16.png' %}" />
</span>
</div>
</div><br/><br/>
</div>

{{ tagnav_form.results_preview.errors }}
<label for="id_results_preview">Preview:</label>
{{ tagnav_form.results_preview }}
<h2>Results</h2>
<ul>
<li class="tagnav-project"><div class="tagnav-icon">&nbsp;</div>Project:&nbsp;<span>0</span></li>
<li class="tagnav-dataset"><div class="tagnav-icon">&nbsp;</div>Dataset:&nbsp;<span>0</span></li>
<li class="tagnav-screen"><div class="tagnav-icon">&nbsp;</div>Screen:&nbsp;<span>0</span></li>
<li class="tagnav-plate"><div class="tagnav-icon">&nbsp;</div>Plate:&nbsp;<span>0</span></li>
<li class="tagnav-acquisition"><div class="tagnav-icon">&nbsp;</div>Plate Acquisition/Run:&nbsp;<span>0</span></li>
<li class="tagnav-well"><div class="tagnav-icon">&nbsp;</div>Well:&nbsp;<span>0</span></li>
<li class="tagnav-image"><div class="tagnav-icon">&nbsp;</div>Image:&nbsp;<span>0</span></li>
<li class="tagnav-project">{{ tagnav_form.view_project }}<div class="tagnav-icon">&nbsp;</div>Project:&nbsp;<span>0</span></li>
<li class="tagnav-dataset">{{ tagnav_form.view_dataset }}<div class="tagnav-icon">&nbsp;</div>Dataset:&nbsp;<span>0</span></li>
<li class="tagnav-screen">{{ tagnav_form.view_screen }}<div class="tagnav-icon">&nbsp;</div>Screen:&nbsp;<span>0</span></li>
<li class="tagnav-plate">{{ tagnav_form.view_plate }}<div class="tagnav-icon">&nbsp;</div>Plate:&nbsp;<span>0</span></li>
<li class="tagnav-acquisition">{{ tagnav_form.view_acquisition }}<div class="tagnav-icon">&nbsp;</div>Plate Acquisition/Run:&nbsp;<span>0</span></li>
<li class="tagnav-well">{{ tagnav_form.view_well }}<div class="tagnav-icon">&nbsp;</div>Well:&nbsp;<span>0</span></li>
<li class="tagnav-image">{{ tagnav_form.view_image }}<div class="tagnav-icon">&nbsp;</div>Image:&nbsp;<span>0</span></li>
</ul>

</div>
Expand Down
2 changes: 1 addition & 1 deletion omero_tagsearch/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ def get_tags(obj):
tags = list(tags)
tags.sort(key=lambda x: x[1].lower())

form = TagSearchForm(tags, conn, initial={"results_preview": True})
form = TagSearchForm(tags, conn)

context = {
"init": init,
Expand Down

0 comments on commit 6089b10

Please sign in to comment.