Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
3210839a
Commit
3210839a
authored
May 06, 2016
by
Legolas Bloom
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new: support search placeholder
parent
d4a8cef6
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
4 deletions
+38
-4
view.py
flask_admin/contrib/sqla/view.py
+27
-0
base.py
flask_admin/model/base.py
+7
-0
layout.html
flask_admin/templates/bootstrap2/admin/model/layout.html
+2
-2
layout.html
flask_admin/templates/bootstrap3/admin/model/layout.html
+2
-2
No files found.
flask_admin/contrib/sqla/view.py
View file @
3210839a
...
@@ -555,6 +555,33 @@ class ModelView(BaseModelView):
...
@@ -555,6 +555,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
...
...
flask_admin/model/base.py
View file @
3210839a
...
@@ -1050,6 +1050,12 @@ class BaseModelView(BaseView, ActionsMixin):
...
@@ -1050,6 +1050,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
):
"""
"""
...
@@ -1880,6 +1886,7 @@ class BaseModelView(BaseView, ActionsMixin):
...
@@ -1880,6 +1886,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
,
...
...
flask_admin/templates/bootstrap2/admin/model/layout.html
View file @
3210839a
...
@@ -56,14 +56,14 @@
...
@@ -56,14 +56,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>
...
...
flask_admin/templates/bootstrap3/admin/model/layout.html
View file @
3210839a
...
@@ -56,12 +56,12 @@
...
@@ -56,12 +56,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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment