Enhance case search results: add data attributes for case identification and implement client-side removal of cases from search results after addition to collection
This commit is contained in:
+14
-1
@@ -1169,7 +1169,20 @@ def add_case_to_collection(request, collection_id):
|
||||
},
|
||||
request=request,
|
||||
)
|
||||
return HttpResponse(rendered)
|
||||
# Also instruct the client to remove this case from any visible search/recent lists
|
||||
remove_script = (
|
||||
'<script>'
|
||||
'(function(){'
|
||||
'try {'
|
||||
"var pk = '%s';" % case.pk +
|
||||
"document.querySelectorAll('#case-search-results [data-case-pk=\"' + pk + '\"]').forEach(function(el){ el.remove(); });" +
|
||||
"document.querySelectorAll('#case-search-results input[name=\"case\"][value=\"' + pk + '\"]').forEach(function(inp){ var li = inp.closest('.list-group-item'); if (li) li.remove(); });" +
|
||||
'} catch(e) { console.error("remove added case from search error", e); }'
|
||||
'})();'
|
||||
'</script>'
|
||||
)
|
||||
|
||||
return HttpResponse(rendered + remove_script)
|
||||
|
||||
# if request.method == "POST":
|
||||
|
||||
|
||||
Reference in New Issue
Block a user