Skip to content

Commit

Permalink
Merge pull request #7 from oarepo/facet_filter_signal
Browse files Browse the repository at this point in the history
Add before_facet_options signal for facet filtering
  • Loading branch information
mirekys committed Mar 22, 2021
2 parents 0ab4143 + 7db8cf1 commit c308ab7
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
13 changes: 13 additions & 0 deletions oarepo_ui/signals.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from blinker import Namespace

_signals = Namespace()

before_facet_options = _signals.signal('before-facet-options')
"""Signal is sent before facet options are returned.
:param source: view instance
:param index: Facets index instance ({aggs: ..., filters: ...})
:param request: request instance
:param view_args: view args
:param view_kwargs: view kwargs
"""
2 changes: 1 addition & 1 deletion oarepo_ui/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '2.0.3'
__version__ = '2.1.0'
6 changes: 5 additions & 1 deletion oarepo_ui/views.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from flask import Blueprint, jsonify
from flask import Blueprint, jsonify, request
from flask.views import MethodView

from oarepo_ui.proxy import current_oarepo_ui
from oarepo_ui.signals import before_facet_options


class EndpointOptionsView(MethodView):
Expand All @@ -15,6 +16,9 @@ def options(self, *args, **kwargs):
index_name = self.endpoint['config'].get('search_index')
if index_name:
index = current_oarepo_ui.facets[index_name]
index = {**index}
before_facet_options.send(self, index=index, request=request, view_args=args, view_kwargs=kwargs)

ret['facets'] = current_oarepo_ui._translate_facets(index.get('aggs', {}), index_name=index_name,
index=index)
ret['filters'] = current_oarepo_ui._translate_filters(index.get('filters', {}), index_name=index_name,
Expand Down

0 comments on commit c308ab7

Please sign in to comment.