Commit e73f6acc authored by PJ Janse van Rensburg's avatar PJ Janse van Rensburg

Merge branch 'master' into nested-categories

parents eb20a51a 95d4d102
...@@ -582,6 +582,33 @@ class ModelView(BaseModelView): ...@@ -582,6 +582,33 @@ class ModelView(BaseModelView):
return bool(self.column_searchable_list) return bool(self.column_searchable_list)
def search_placeholder(self):
"""
Return search placeholder.
For example, if set column_labels and column_searchable_list:
class MyModelView(BaseModelView):
column_labels = dict(name='Name', last_name='Last Name')
column_searchable_list = ('name', 'last_name')
placeholder is: "Search: Name, Last Name"
"""
if not self.column_searchable_list:
return 'Search'
placeholders = []
for searchable in self.column_searchable_list:
if isinstance(searchable, InstrumentedAttribute):
placeholders.append(
self.column_labels.get(searchable.key, searchable.key))
else:
placeholders.append(
self.column_labels.get(searchable, searchable))
return 'Search: %s' % u', '.join(placeholders)
def scaffold_filters(self, name): def scaffold_filters(self, name):
""" """
Return list of enabled filters Return list of enabled filters
......
...@@ -1107,6 +1107,12 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -1107,6 +1107,12 @@ class BaseModelView(BaseView, ActionsMixin):
""" """
return False return False
def search_placeholder(self):
"""
Return search placeholder.
"""
return 'Search'
# Filter helpers # Filter helpers
def scaffold_filters(self, name): def scaffold_filters(self, name):
""" """
...@@ -2026,6 +2032,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -2026,6 +2032,7 @@ class BaseModelView(BaseView, ActionsMixin):
search_supported=self._search_supported, search_supported=self._search_supported,
clear_search_url=clear_search_url, clear_search_url=clear_search_url,
search=view_args.search, search=view_args.search,
search_placeholder=self.search_placeholder(),
# Filters # Filters
filters=self._filters, filters=self._filters,
......
...@@ -74,14 +74,14 @@ ...@@ -74,14 +74,14 @@
{% endif %} {% endif %}
{% if search %} {% if search %}
<div class="input-append"> <div class="input-append">
<input type="text" name="search" value="{{ search }}" class="{{ input_class }}" placeholder="{{ _gettext('Search') }}"> <input type="text" name="search" value="{{ search }}" class="{{ input_class }}" placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
<a href="{{ clear_search_url }}" class="clear add-on"> <a href="{{ clear_search_url }}" class="clear add-on">
<i class="fa fa-times icon-remove"></i> <i class="fa fa-times icon-remove"></i>
</a> </a>
</div> </div>
{% else %} {% else %}
<div> <div>
<input type="text" name="search" value="" class="{{ input_class }}" placeholder="{{ _gettext('Search') }}"> <input type="text" name="search" value="" class="{{ input_class }}" placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
</div> </div>
{% endif %} {% endif %}
</form> </form>
......
...@@ -74,12 +74,12 @@ ...@@ -74,12 +74,12 @@
{% endif %} {% endif %}
{% if search %} {% if search %}
<div class="input-group"> <div class="input-group">
<input type="text" name="search" value="{{ search }}" class="{{ input_class }} form-control" placeholder="{{ _gettext('Search') }}"> <input type="text" name="search" value="{{ search }}" class="{{ input_class }} form-control" placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
<a href="{{ clear_search_url }}" class="input-group-addon clear"><span class="fa fa-times glyphicon glyphicon-remove"></span></a> <a href="{{ clear_search_url }}" class="input-group-addon clear"><span class="fa fa-times glyphicon glyphicon-remove"></span></a>
</div> </div>
{% else %} {% else %}
<div class="form-group"> <div class="form-group">
<input type="text" name="search" value="" class="{{ input_class }} form-control" placeholder="{{ _gettext('Search') }}"> <input type="text" name="search" value="" class="{{ input_class }} form-control" placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
</div> </div>
{% endif %} {% endif %}
</form> </form>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment