my_account_pullrequests.mako
164 lines
| 5.7 KiB
| application/x-mako
|
MakoHtmlLexer
r1282 | <%namespace name="base" file="/base/base.mako"/> | |||
<div class="panel panel-default"> | ||||
r4690 | <div class="panel-heading"> | |||
<h3 class="panel-title">${_('Pull Requests You Participate In')}</h3> | ||||
</div> | ||||
r4318 | ||||
r4690 | <div class="panel-body panel-body-min-height"> | |||
<div class="title"> | ||||
r4318 | <ul class="button-links"> | |||
r4690 | <li><a class="btn ${h.is_active('all', c.selected_filter)}" | |||
href="${h.route_path('my_account_pullrequests', _query={})}"> | ||||
${_('Open')} | ||||
</a> | ||||
</li> | ||||
<li><a class="btn ${h.is_active('all_closed', c.selected_filter)}" | ||||
href="${h.route_path('my_account_pullrequests', _query={'closed':1})}"> | ||||
${_('All + Closed')} | ||||
</a> | ||||
</li> | ||||
<li><a class="btn ${h.is_active('awaiting_my_review', c.selected_filter)}" | ||||
href="${h.route_path('my_account_pullrequests', _query={'awaiting_my_review':1})}"> | ||||
${_('Awaiting my review')} | ||||
</a> | ||||
</li> | ||||
r4318 | </ul> | |||
<div class="grid-quick-filter"> | ||||
<ul class="grid-filter-box"> | ||||
<li class="grid-filter-box-icon"> | ||||
<i class="icon-search"></i> | ||||
</li> | ||||
<li class="grid-filter-box-input"> | ||||
r4690 | <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" | |||
placeholder="${_('quick filter...')}" value=""/> | ||||
r4318 | </li> | |||
</ul> | ||||
</div> | ||||
r4690 | </div> | |||
r1282 | ||||
r4511 | <table id="pull_request_list_table" class="rctable table-bordered"></table> | |||
r1282 | </div> | |||
</div> | ||||
r1892 | <script type="text/javascript"> | |||
r4318 | $(document).ready(function () { | |||
r1892 | ||||
r4318 | var $pullRequestListTable = $('#pull_request_list_table'); | |||
r1282 | ||||
r1892 | // participating object list | |||
$pullRequestListTable.DataTable({ | ||||
r4318 | processing: true, | |||
serverSide: true, | ||||
r4558 | stateSave: true, | |||
stateDuration: -1, | ||||
r4318 | ajax: { | |||
"url": "${h.route_path('my_account_pullrequests_data')}", | ||||
"data": function (d) { | ||||
d.closed = "${c.closed}"; | ||||
r4690 | d.awaiting_my_review = "${c.awaiting_my_review}"; | |||
r4318 | }, | |||
"dataSrc": function (json) { | ||||
return json.data; | ||||
} | ||||
}, | ||||
dom: 'rtp', | ||||
pageLength: ${c.visual.dashboard_items}, | ||||
r4690 | order: [[2, "desc"]], | |||
r4318 | columns: [ | |||
{ | ||||
data: { | ||||
"_": "status", | ||||
"sort": "status" | ||||
r4690 | }, title: "PR", className: "td-status", orderable: false | |||
}, | ||||
{ | ||||
data: { | ||||
"_": "my_status", | ||||
"sort": "status" | ||||
}, title: "You", className: "td-status", orderable: false | ||||
r4318 | }, | |||
{ | ||||
data: { | ||||
"_": "name", | ||||
"sort": "name_raw" | ||||
}, title: "${_('Id')}", className: "td-componentname", "type": "num" | ||||
}, | ||||
{ | ||||
data: { | ||||
"_": "title", | ||||
"sort": "title" | ||||
}, title: "${_('Title')}", className: "td-description" | ||||
}, | ||||
{ | ||||
data: { | ||||
"_": "author", | ||||
"sort": "author_raw" | ||||
}, title: "${_('Author')}", className: "td-user", orderable: false | ||||
}, | ||||
{ | ||||
data: { | ||||
"_": "comments", | ||||
"sort": "comments_raw" | ||||
}, title: "", className: "td-comments", orderable: false | ||||
}, | ||||
{ | ||||
data: { | ||||
"_": "updated_on", | ||||
"sort": "updated_on_raw" | ||||
}, title: "${_('Last Update')}", className: "td-time" | ||||
r4512 | }, | |||
{ | ||||
data: { | ||||
"_": "target_repo", | ||||
"sort": "target_repo" | ||||
}, title: "${_('Target Repo')}", className: "td-targetrepo", orderable: false | ||||
}, | ||||
r4318 | ], | |||
language: { | ||||
r1282 | paginate: DEFAULT_GRID_PAGINATION, | |||
r1892 | sProcessing: _gettext('loading...'), | |||
r1282 | emptyTable: _gettext("There are currently no open pull requests requiring your participation.") | |||
r4318 | }, | |||
"drawCallback": function (settings, json) { | ||||
timeagoActivate(); | ||||
tooltipActivate(); | ||||
}, | ||||
"createdRow": function (row, data, index) { | ||||
if (data['closed']) { | ||||
$(row).addClass('closed'); | ||||
} | ||||
if (data['owned']) { | ||||
$(row).addClass('owned'); | ||||
} | ||||
r4558 | }, | |||
"stateSaveParams": function (settings, data) { | ||||
data.search.search = ""; // Don't save search | ||||
data.start = 0; // don't save pagination | ||||
r4318 | } | |||
r1282 | }); | |||
r4318 | $pullRequestListTable.on('xhr.dt', function (e, settings, json, xhr) { | |||
r1892 | $pullRequestListTable.css('opacity', 1); | |||
}); | ||||
r4318 | $pullRequestListTable.on('preXhr.dt', function (e, settings, data) { | |||
r1892 | $pullRequestListTable.css('opacity', 0.3); | |||
}); | ||||
r4318 | ||||
r4558 | ||||
r4318 | // filter | |||
$('#q_filter').on('keyup', | ||||
$.debounce(250, function () { | ||||
$pullRequestListTable.DataTable().search( | ||||
$('#q_filter').val() | ||||
).draw(); | ||||
}) | ||||
); | ||||
r1282 | }); | |||
r4318 | ||||
r1282 | </script> | |||