Skip to content

Commit

Permalink
Checkboxes everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
mistercrunch committed Dec 13, 2015
1 parent 06c12e7 commit 0d6720a
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 0 deletions.
81 changes: 81 additions & 0 deletions panoramix/templates/appbuilder/general/widgets/list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{% import 'appbuilder/general/lib.html' as lib %}
{% extends 'appbuilder/general/widgets/base_list.html' %}


{% block begin_content scoped %}
<div class="table-responsive">
<table class="table table-bordered table-hover">
{% endblock %}

{% block begin_loop_header scoped %}
<thead>
<tr>
{% if actions %}
<th class="action_checkboxes">
<input id="check_all" class="action_check_all" name="check_all" type="checkbox">
</th>
{% endif %}

{% if can_show or can_edit or can_delete %}
<th class="col-md-1 col-lg-1 col-sm-1" ></th>
{% endif %}

{% for item in include_columns %}
{% if item in order_columns %}
{% set res = item | get_link_order(modelview_name) %}
{% if res == 2 %}
<th><a href={{ item | link_order(modelview_name) }}>{{label_columns.get(item)}}
<i class="fa fa-chevron-up pull-right"></i></a></th>
{% elif res == 1 %}
<th><a href={{ item | link_order(modelview_name) }}>{{label_columns.get(item)}}
<i class="fa fa-chevron-down pull-right"></i></a></th>
{% else %}
<th><a href={{ item | link_order(modelview_name) }}>{{label_columns.get(item)}}
<i class="fa fa-arrows-v pull-right"></i></a></th>
{% endif %}
{% else %}
<th>{{label_columns.get(item)}}</th>
{% endif %}
{% endfor %}
</tr>
</thead>
{% endblock %}

{% block begin_loop_values %}
{% for item in value_columns %}
{% set pk = pks[loop.index-1] %}
<tr>
{% if actions %}
<td>
<input id="{{pk}}" class="action_check" name="rowid" value="{{pk}}" type="checkbox">
</td>
{% endif %}
{% if can_show or can_edit or can_delete %}
<td><center>
{{ lib.btn_crud(can_show, can_edit, can_delete, pk, modelview_name, filters) }}
</center></td>
{% endif %}
{% for value in include_columns %}
<td class="text-center">
{% if item[value].__class__.__name__ == 'bool' %}
<input
class="form-control"
type="checkbox"
{{'checked' if item[value] }}
name="{{ '{}__{}'.format(pk, value) }}"
id="{{ '{}__{}'.format(pk, value) }}"
onchange="$.get('/panoramix/checkbox/{{ modelview_name }}/{{ pk }}/{{ value }}/' + $('#{{ '{}__{}'.format(pk, value) }}')[0].checked ) + '/';">
{% else %}
{{ item[value]|safe }}
{% endif %}
</td>
{% endfor %}
</tr>
{% endfor %}
{% endblock %}

{% block end_content scoped %}
</table>
</div>
{% endblock %}

16 changes: 16 additions & 0 deletions panoramix/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,22 @@ def explore(self, datasource_type, datasource_id):
mimetype="application/json")
return resp

@has_access
@expose("/checkbox/<model_view>/<id_>/<attr>/<value>", methods=['GET'])
def checkbox(self, model_view, id_, attr, value):
model = None
if model_view == 'TableColumnInlineView':
model = models.TableColumn
elif model_view == 'ColumnInlineView':
model = models.Column

obj = db.session.query(model).filter_by(id=id_).first()
if obj:
setattr(obj, attr, value=='true')
db.session.commit()
return Response("OK", mimetype="application/json")


@has_access
@expose("/save_dash/<dashboard_id>/", methods=['GET', 'POST'])
def save_dash(self, dashboard_id):
Expand Down

0 comments on commit 0d6720a

Please sign in to comment.