|
|
<%inherit file="/base/base.mako"/>
|
|
|
|
|
|
<%def name="title()">
|
|
|
%if c.show_private:
|
|
|
${_('Private Gists for user {}').format(c.rhodecode_user.username)}
|
|
|
%elif c.show_public:
|
|
|
${_('Public Gists for user {}').format(c.rhodecode_user.username)}
|
|
|
%else:
|
|
|
${_('Public Gists')}
|
|
|
%endif
|
|
|
%if c.rhodecode_name:
|
|
|
· ${h.branding(c.rhodecode_name)}
|
|
|
%endif
|
|
|
</%def>
|
|
|
|
|
|
<%def name="breadcrumbs_links()"></%def>
|
|
|
|
|
|
<%def name="menu_bar_nav()">
|
|
|
${self.menu_items(active='gists')}
|
|
|
</%def>
|
|
|
|
|
|
<%def name="main()">
|
|
|
|
|
|
<div class="box">
|
|
|
<div class="title">
|
|
|
|
|
|
<ul class="button-links">
|
|
|
% if c.is_super_admin:
|
|
|
<li><a class="btn ${h.is_active('all', c.active)}" href="${h.route_path('gists_show', _query={'all': 1})}">${_('All gists')}</a></li>
|
|
|
%endif
|
|
|
<li><a class="btn ${h.is_active('public', c.active)}" href="${h.route_path('gists_show')}">${_('All public')}</a></li>
|
|
|
%if c.rhodecode_user.username != h.DEFAULT_USER:
|
|
|
<li><a class="btn ${h.is_active('my_all', c.active)}" href="${h.route_path('gists_show', _query={'public':1, 'private': 1})}">${_('My gists')}</a></li>
|
|
|
<li><a class="btn ${h.is_active('my_private', c.active)}" href="${h.route_path('gists_show', _query={'private': 1})}">${_('My private')}</a></li>
|
|
|
<li><a class="btn ${h.is_active('my_public', c.active)}" href="${h.route_path('gists_show', _query={'public': 1})}">${_('My public')}</a></li>
|
|
|
%endif
|
|
|
</ul>
|
|
|
|
|
|
% if c.rhodecode_user.username != h.DEFAULT_USER:
|
|
|
<div class="pull-right">
|
|
|
<a class="btn btn-primary" href="${h.route_path('gists_new')}" >
|
|
|
${_('Create New Gist')}
|
|
|
</a>
|
|
|
</div>
|
|
|
% endif
|
|
|
|
|
|
<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">
|
|
|
<input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="main-content-full-width">
|
|
|
<div id="repos_list_wrap">
|
|
|
<table id="gist_list_table" class="display"></table>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
$(document).ready(function() {
|
|
|
|
|
|
var get_datatable_count = function(){
|
|
|
var api = $('#gist_list_table').dataTable().api();
|
|
|
$('#gists_count').text(api.page.info().recordsDisplay);
|
|
|
};
|
|
|
|
|
|
|
|
|
// custom filter that filters by access_id, description or author
|
|
|
$.fn.dataTable.ext.search.push(
|
|
|
function( settings, data, dataIndex ) {
|
|
|
var query = $('#q_filter').val();
|
|
|
var author = data[0].strip();
|
|
|
var access_id = data[2].strip();
|
|
|
var description = data[3].strip();
|
|
|
|
|
|
var query_str = (access_id + " " + author + " " + description).toLowerCase();
|
|
|
|
|
|
if(query_str.indexOf(query.toLowerCase()) !== -1){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
);
|
|
|
|
|
|
// gists list
|
|
|
var gist_data = ${c.data|n};
|
|
|
$('#gist_list_table').DataTable({
|
|
|
data: gist_data,
|
|
|
dom: 'rtp',
|
|
|
pageLength: ${c.visual.dashboard_items},
|
|
|
order: [[ 4, "desc" ]],
|
|
|
columns: [
|
|
|
{ data: {"_": "author",
|
|
|
"sort": "author_raw"}, title: "${_("Author")}", width: "250px", className: "td-user" },
|
|
|
{ data: {"_": "type",
|
|
|
"sort": "type"}, title: "${_("Type")}", width: "100px", className: "td-gist-type" },
|
|
|
{ data: {"_": "access_id",
|
|
|
"sort": "access_id"}, title: "${_("Name")}", width:"150px", className: "td-componentname" },
|
|
|
{ data: {"_": "description",
|
|
|
"sort": "description"}, title: "${_("Description")}", width: "250px", className: "td-description" },
|
|
|
{ data: {"_": "created_on",
|
|
|
"sort": "created_on_raw"}, title: "${_("Created on")}", className: "td-time" },
|
|
|
{ data: {"_": "expires",
|
|
|
"sort": "expires"}, title: "${_("Expires")}", width: "200px", className: "td-expire" }
|
|
|
],
|
|
|
language: {
|
|
|
paginate: DEFAULT_GRID_PAGINATION,
|
|
|
emptyTable: _gettext("No gists available yet.")
|
|
|
},
|
|
|
"initComplete": function( settings, json ) {
|
|
|
timeagoActivate();
|
|
|
tooltipActivate();
|
|
|
get_datatable_count();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
// update the counter when things change
|
|
|
$('#gist_list_table').on('draw.dt', function() {
|
|
|
timeagoActivate();
|
|
|
tooltipActivate();
|
|
|
get_datatable_count();
|
|
|
});
|
|
|
|
|
|
// filter, filter both grids
|
|
|
$('#q_filter').on( 'keyup', function () {
|
|
|
var repo_api = $('#gist_list_table').dataTable().api();
|
|
|
repo_api
|
|
|
.draw();
|
|
|
});
|
|
|
|
|
|
// refilter table if page load via back button
|
|
|
$("#q_filter").trigger('keyup');
|
|
|
|
|
|
});
|
|
|
|
|
|
</script>
|
|
|
</%def>
|
|
|
|
|
|
|