##// END OF EJS Templates
tables: better message when tables are empty #685 #1832
lisaq -
r492:293aa6a6 default
parent child Browse files
Show More
@@ -1,149 +1,150 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 %if c.show_private:
6 6 ${_('Private Gists for user %s') % c.rhodecode_user.username}
7 7 %elif c.show_public:
8 8 ${_('Public Gists for user %s') % c.rhodecode_user.username}
9 9 %else:
10 10 ${_('Public Gists')}
11 11 %endif
12 12 %if c.rhodecode_name:
13 13 &middot; ${h.branding(c.rhodecode_name)}
14 14 %endif
15 15 </%def>
16 16
17 17 <%def name="breadcrumbs_links()">
18 18 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
19 19 %if c.show_private and not c.show_public:
20 20 ${_('Private Gists for user %s') % c.rhodecode_user.username}
21 21 %elif c.show_public and not c.show_private:
22 22 ${_('Public Gists for user %s') % c.rhodecode_user.username}
23 23 %elif c.show_public and c.show_private:
24 24 ${_('All Gists for user %s') % c.rhodecode_user.username}
25 25 %else:
26 26 ${_('All Public Gists')}
27 27 %endif
28 28 - <span id="gists_count">0</span>
29 29 </%def>
30 30
31 31 <%def name="menu_bar_nav()">
32 32 ${self.menu_items(active='gists')}
33 33 </%def>
34 34
35 35
36 36
37 37 <%def name="main()">
38 38 <div class="box">
39 39 <div class="title">
40 40 ${self.breadcrumbs(class_="breadcrumbs block-left")}
41 41 %if c.rhodecode_user.username != h.DEFAULT_USER:
42 42 <ul class="links block-right">
43 43 <li>
44 44 <a href="${h.url('new_gist')}" class="btn btn-primary">${_(u'Create New Gist')}</a>
45 45 </li>
46 46 </ul>
47 47 %endif
48 48 </div>
49 49
50 50
51 51 <div class="sidebar-col-wrapper scw-small">
52 52 ##main
53 53 <div class="sidebar">
54 54 <ul class="nav nav-pills nav-stacked">
55 55 % if h.HasPermissionAll('hg.admin')('access admin gists page'):
56 56 <li class="${'active' if c.active=='all' else ''}"><a href="${h.url('gists', all=1)}">${_('All gists')}</a></li>
57 57 %endif
58 58 <li class="${'active' if c.active=='public' else ''}"><a href="${h.url('gists')}">${_('All public')}</a></li>
59 59 %if c.rhodecode_user.username != h.DEFAULT_USER:
60 60 <li class="${'active' if c.active=='my_all' else ''}"><a href="${h.url('gists', public=1, private=1)}">${_('My gists')}</a></li>
61 61 <li class="${'active' if c.active=='my_private' else ''}"><a href="${h.url('gists', private=1)}">${_('My private')}</a></li>
62 62 <li class="${'active' if c.active=='my_public' else ''}"><a href="${h.url('gists', public=1)}">${_('My public')}</a></li>
63 63 %endif
64 64 </ul>
65 65 </div>
66 66
67 67 <div class="main-content">
68 68 <div id="repos_list_wrap">
69 69 <table id="gist_list_table" class="display"></table>
70 70 </div>
71 71 </div>
72 72 </div>
73 73 </div>
74 74 <script>
75 75 $(document).ready(function() {
76 76
77 77 var get_datatable_count = function(){
78 78 var api = $('#gist_list_table').dataTable().api();
79 79 $('#gists_count').text(api.page.info().recordsDisplay);
80 80 };
81 81
82 82
83 83 // custom filter that filters by access_id, description or author
84 84 $.fn.dataTable.ext.search.push(
85 85 function( settings, data, dataIndex ) {
86 86 var query = $('#q_filter').val();
87 87 var author = data[0].strip();
88 88 var access_id = data[2].strip();
89 89 var description = data[3].strip();
90 90
91 91 var query_str = (access_id + " " + author + " " + description).toLowerCase();
92 92
93 93 if(query_str.indexOf(query.toLowerCase()) !== -1){
94 94 return true;
95 95 }
96 96 return false;
97 97 }
98 98 );
99 99
100 100 // gists list
101 101 $('#gist_list_table').DataTable({
102 102 data: ${c.data|n},
103 103 dom: 'rtp',
104 104 pageLength: ${c.visual.dashboard_items},
105 105 order: [[ 4, "desc" ]],
106 106 columns: [
107 107 { data: {"_": "author",
108 108 "sort": "author_raw"}, title: "${_("Author")}", width: "250px", className: "td-user" },
109 109 { data: {"_": "type",
110 110 "sort": "type"}, title: "${_("Type")}", width: "70px", className: "td-tags" },
111 111 { data: {"_": "access_id",
112 112 "sort": "access_id"}, title: "${_("Name")}", width:"150px", className: "td-componentname" },
113 113 { data: {"_": "description",
114 114 "sort": "description"}, title: "${_("Description")}", width: "250px", className: "td-description" },
115 115 { data: {"_": "created_on",
116 116 "sort": "created_on_raw"}, title: "${_("Created on")}", className: "td-time" },
117 117 { data: {"_": "expires",
118 118 "sort": "expires"}, title: "${_("Expires")}", className: "td-exp" }
119 119 ],
120 120 language: {
121 paginate: DEFAULT_GRID_PAGINATION
121 paginate: DEFAULT_GRID_PAGINATION,
122 emptyTable: "No gists available yet."
122 123 },
123 124 "initComplete": function( settings, json ) {
124 125 timeagoActivate();
125 126 get_datatable_count();
126 127 }
127 128 });
128 129
129 130 // update the counter when things change
130 131 $('#gist_list_table').on('draw.dt', function() {
131 132 timeagoActivate();
132 133 get_datatable_count();
133 134 });
134 135
135 136 // filter, filter both grids
136 137 $('#q_filter').on( 'keyup', function () {
137 138 var repo_api = $('#gist_list_table').dataTable().api();
138 139 repo_api
139 140 .draw();
140 141 });
141 142
142 143 // refilter table if page load via back button
143 144 $("#q_filter").trigger('keyup');
144 145
145 146 });
146 147
147 148 </script>
148 149 </%def>
149 150
@@ -1,67 +1,68 b''
1 1 <div class="panel panel-default">
2 2 <div class="panel-heading">
3 3 <h3 class="panel-title">${_('Repositories You Own')}</h3>
4 4 </div>
5 5
6 6 <div class="panel-body">
7 7 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
8 8
9 9 <div id="repos_list_wrap">
10 10 <table id="repo_list_table" class="display"></table>
11 11 </div>
12 12 </div>
13 13 </div>
14 14
15 15 <script>
16 16 $(document).ready(function() {
17 17
18 18 var get_datatable_count = function(){
19 19 var api = $('#repo_list_table').dataTable().api();
20 20 $('#repo_count').text(api.page.info().recordsDisplay);
21 21 };
22 22
23 23 // repo list
24 24 $('#repo_list_table').DataTable({
25 25 data: ${c.data|n},
26 26 dom: 'rtp',
27 27 pageLength: ${c.visual.admin_grid_items},
28 28 order: [[ 0, "asc" ]],
29 29 columns: [
30 30 { data: {"_": "name",
31 31 "sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname" },
32 32 { data: 'menu', className: "quick_repo_menu" },
33 33 { data: {"_": "last_changeset",
34 34 "sort": "last_changeset_raw",
35 35 "type": Number}, title: "${_('Commit')}", className: "td-hash" },
36 36 { data: {"_": "action",
37 37 "sort": "action"}, title: "${_('Action')}", className: "td-action" }
38 38 ],
39 39 language: {
40 paginate: DEFAULT_GRID_PAGINATION
40 paginate: DEFAULT_GRID_PAGINATION,
41 emptyTable: "No repositories available yet."
41 42 },
42 43 "initComplete": function( settings, json ) {
43 44 get_datatable_count();
44 45 quick_repo_menu();
45 46 }
46 47 });
47 48
48 49 // update the counter when doing search
49 50 $('#repo_list_table').on( 'search.dt', function (e,settings) {
50 51 get_datatable_count();
51 52 });
52 53
53 54 // filter, filter both grids
54 55 $('#q_filter').on( 'keyup', function () {
55 56 var repo_api = $('#repo_list_table').dataTable().api();
56 57 repo_api
57 58 .columns(0)
58 59 .search(this.value)
59 60 .draw();
60 61 });
61 62
62 63 // refilter table if page load via back button
63 64 $("#q_filter").trigger('keyup');
64 65
65 66 });
66 67
67 68 </script>
@@ -1,65 +1,66 b''
1 1 <div class="panel panel-default">
2 2 <div class="panel-heading">
3 3 <h3 class="panel-title">${_('Your Watched Repositories')}</h3>
4 4 </div>
5 5
6 6 <div class="panel-body">
7 7 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
8 8
9 9 <div id="repos_list_wrap">
10 10 <table id="repo_list_table" class="display"></table>
11 11 </div>
12 12 </div>
13 13 </div>
14 14
15 15 <script>
16 16 $(document).ready(function() {
17 17
18 18 var get_datatable_count = function(){
19 19 var api = $('#repo_list_table').dataTable().api();
20 20 $('#repo_count').text(api.page.info().recordsDisplay);
21 21 };
22 22
23 23 // repo list
24 24 $('#repo_list_table').DataTable({
25 25 data: ${c.data|n},
26 26 dom: 'rtp',
27 27 pageLength: ${c.visual.admin_grid_items},
28 28 order: [[ 0, "asc" ]],
29 29 columns: [
30 30 { data: {"_": "name",
31 31 "sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname" },
32 32 { data: 'menu', className: "quick_repo_menu" },
33 33 { data: {"_": "last_changeset",
34 34 "sort": "last_changeset_raw",
35 35 "type": Number}, title: "${_('Commit')}", className: "td-hash" }
36 36 ],
37 37 language: {
38 paginate: DEFAULT_GRID_PAGINATION
38 paginate: DEFAULT_GRID_PAGINATION,
39 emptyTable: "No repositories available yet."
39 40 },
40 41 "initComplete": function( settings, json ) {
41 42 get_datatable_count();
42 43 quick_repo_menu();
43 44 }
44 45 });
45 46
46 47 // update the counter when doing search
47 48 $('#repo_list_table').on( 'search.dt', function (e,settings) {
48 49 get_datatable_count();
49 50 });
50 51
51 52 // filter, filter both grids
52 53 $('#q_filter').on( 'keyup', function () {
53 54 var repo_api = $('#repo_list_table').dataTable().api();
54 55 repo_api
55 56 .columns(0)
56 57 .search(this.value)
57 58 .draw();
58 59 });
59 60
60 61 // refilter table if page load via back button
61 62 $("#q_filter").trigger('keyup');
62 63
63 64 });
64 65
65 66 </script>
@@ -1,93 +1,94 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Repository groups administration')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; <span id="repo_group_count">0</span> ${_('repository groups')}
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='admin')}
18 18 </%def>
19 19
20 20 <%def name="main()">
21 21 <div class="box">
22 22 <div class="title">
23 23 ${self.breadcrumbs()}
24 24 <ul class="links">
25 25 %if h.HasPermissionAny('hg.admin','hg.repogroup.create.true')():
26 26 <li>
27 27 <a href="${h.url('new_repo_group')}" class="btn btn-small btn-success">${_(u'Add Repository Group')}</a>
28 28 </li>
29 29 %endif
30 30 </ul>
31 31 </div>
32 32 <div id="repos_list_wrap">
33 33 <table id="group_list_table" class="display"></table>
34 34 </div>
35 35 </div>
36 36
37 37 <script>
38 38 $(document).ready(function() {
39 39
40 40 var get_datatable_count = function(){
41 41 var api = $('#group_list_table').dataTable().api();
42 42 $('#repo_group_count').text(api.page.info().recordsDisplay);
43 43 };
44 44
45 45 // repo group list
46 46 $('#group_list_table').DataTable({
47 47 data: ${c.data|n},
48 48 dom: 'rtp',
49 49 pageLength: ${c.visual.admin_grid_items},
50 50 order: [[ 0, "asc" ]],
51 51 columns: [
52 52 { data: {"_": "name",
53 53 "sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname" },
54 54 { data: 'menu', "bSortable": false, className: "quick_repo_menu" },
55 55 { data: {"_": "desc",
56 56 "sort": "desc"}, title: "${_('Description')}", className: "td-description" },
57 57 { data: {"_": "top_level_repos",
58 58 "sort": "top_level_repos"}, title: "${_('Number of top level repositories')}" },
59 59 { data: {"_": "owner",
60 60 "sort": "owner"}, title: "${_('Owner')}", className: "td-user" },
61 61 { data: {"_": "action",
62 62 "sort": "action"}, title: "${_('Action')}", className: "td-action" }
63 63 ],
64 64 language: {
65 paginate: DEFAULT_GRID_PAGINATION
65 paginate: DEFAULT_GRID_PAGINATION,
66 emptyTable: "No repository groups available yet."
66 67 },
67 68 "initComplete": function( settings, json ) {
68 69 get_datatable_count();
69 70 quick_repo_menu();
70 71 }
71 72 });
72 73
73 74 // update the counter when doing search
74 75 $('#group_list_table').on( 'search.dt', function (e,settings) {
75 76 get_datatable_count();
76 77 });
77 78
78 79 // filter, filter both grids
79 80 $('#q_filter').on( 'keyup', function () {
80 81
81 82 var repo_group_api = $('#group_list_table').dataTable().api();
82 83 repo_group_api
83 84 .columns(0)
84 85 .search(this.value)
85 86 .draw();
86 87 });
87 88
88 89 // refilter table if page load via back button
89 90 $("#q_filter").trigger('keyup');
90 91 });
91 92 </script>
92 93 </%def>
93 94
@@ -1,100 +1,101 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Repositories administration')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; <span id="repo_count">0</span> ${_('repositories')}
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='admin')}
18 18 </%def>
19 19
20 20 <%def name="main()">
21 21 <div class="box">
22 22 <div class="title">
23 23 ${self.breadcrumbs()}
24 24 <ul class="links">
25 25 %if h.HasPermissionAny('hg.admin','hg.create.repository')():
26 26 <li>
27 27 <a href="${h.url('new_repo')}" class="btn btn-small btn-success">${_(u'Add Repository')}</a>
28 28 </li>
29 29 %endif
30 30 </ul>
31 31 </div>
32 32 <div id="repos_list_wrap">
33 33 <table id="repo_list_table" class="display"></table>
34 34 </div>
35 35 </div>
36 36
37 37 <script>
38 38 $(document).ready(function() {
39 39
40 40 var get_datatable_count = function(){
41 41 var api = $('#repo_list_table').dataTable().api();
42 42 $('#repo_count').text(api.page.info().recordsDisplay);
43 43 };
44 44
45 45
46 46 // repo list
47 47 $('#repo_list_table').DataTable({
48 48 data: ${c.data|n},
49 49 dom: 'rtp',
50 50 pageLength: ${c.visual.admin_grid_items},
51 51 order: [[ 0, "asc" ]],
52 52 columns: [
53 53 { data: {"_": "name",
54 54 "sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname" },
55 55 { data: 'menu', "bSortable": false, className: "quick_repo_menu" },
56 56 { data: {"_": "desc",
57 57 "sort": "desc"}, title: "${_('Description')}", className: "td-description" },
58 58 { data: {"_": "last_change",
59 59 "sort": "last_change_raw",
60 60 "type": Number}, title: "${_('Last Change')}", className: "td-time" },
61 61 { data: {"_": "last_changeset",
62 62 "sort": "last_changeset_raw",
63 63 "type": Number}, title: "${_('Commit')}", className: "td-commit" },
64 64 { data: {"_": "owner",
65 65 "sort": "owner"}, title: "${_('Owner')}", className: "td-user" },
66 66 { data: {"_": "state",
67 67 "sort": "state"}, title: "${_('State')}", className: "td-tags td-state" },
68 68 { data: {"_": "action",
69 69 "sort": "action"}, title: "${_('Action')}", className: "td-action" }
70 70 ],
71 71 language: {
72 paginate: DEFAULT_GRID_PAGINATION
72 paginate: DEFAULT_GRID_PAGINATION,
73 emptyTable: "No repositories available yet."
73 74 },
74 75 "initComplete": function( settings, json ) {
75 76 get_datatable_count();
76 77 quick_repo_menu();
77 78 }
78 79 });
79 80
80 81 // update the counter when doing search
81 82 $('#repo_list_table').on( 'search.dt', function (e,settings) {
82 83 get_datatable_count();
83 84 });
84 85
85 86 // filter, filter both grids
86 87 $('#q_filter').on( 'keyup', function () {
87 88 var repo_api = $('#repo_list_table').dataTable().api();
88 89 repo_api
89 90 .columns(0)
90 91 .search(this.value)
91 92 .draw();
92 93 });
93 94
94 95 // refilter table if page load via back button
95 96 $("#q_filter").trigger('keyup');
96 97 });
97 98
98 99 </script>
99 100
100 101 </%def>
@@ -1,97 +1,98 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('User groups administration')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; <span id="user_group_count">0</span> ${_('user groups')}
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='admin')}
18 18 </%def>
19 19
20 20 <%def name="main()">
21 21 <div class="box">
22 22
23 23 <div class="title">
24 24 ${self.breadcrumbs()}
25 25 <ul class="links">
26 26 %if h.HasPermissionAny('hg.admin', 'hg.usergroup.create.true')():
27 27 <li>
28 28 <a href="${h.url('new_users_group')}" class="btn btn-small btn-success">${_(u'Add User Group')}</a>
29 29 </li>
30 30 %endif
31 31 </ul>
32 32 </div>
33 33
34 34 <div id="repos_list_wrap">
35 35 <table id="user_group_list_table" class="display"></table>
36 36 </div>
37 37
38 38 </div>
39 39 <script>
40 40 $(document).ready(function() {
41 41
42 42 var get_datatable_count = function(){
43 43 var api = $('#user_group_list_table').dataTable().api();
44 44 $('#user_group_count').text(api.page.info().recordsDisplay);
45 45 };
46 46
47 47 // user list
48 48 $('#user_group_list_table').DataTable({
49 49 data: ${c.data|n},
50 50 dom: 'rtp',
51 51 pageLength: ${c.visual.admin_grid_items},
52 52 order: [[ 0, "asc" ]],
53 53 columns: [
54 54 { data: {"_": "group_name",
55 55 "sort": "group_name_raw"}, title: "${_('Name')}", className: "td-componentname" },
56 56 { data: {"_": "desc",
57 57 "sort": "desc"}, title: "${_('Description')}", className: "td-description" },
58 58 { data: {"_": "members",
59 59 "sort": "members",
60 60 "type": Number}, title: "${_('Members')}", className: "td-number" },
61 61 { data: {"_": "active",
62 62 "sort": "active"}, title: "${_('Active')}", className: "td-active", className: "td-number"},
63 63 { data: {"_": "owner",
64 64 "sort": "owner"}, title: "${_('Owner')}", className: "td-user" },
65 65 { data: {"_": "action",
66 66 "sort": "action"}, title: "${_('Action')}", className: "td-action" }
67 67 ],
68 68 language: {
69 paginate: DEFAULT_GRID_PAGINATION
69 paginate: DEFAULT_GRID_PAGINATION,
70 emptyTable: "No user groups available yet."
70 71 },
71 72 "initComplete": function( settings, json ) {
72 73 get_datatable_count();
73 74 }
74 75 });
75 76
76 77 // update the counter when doing search
77 78 $('#user_group_list_table').on( 'search.dt', function (e,settings) {
78 79 get_datatable_count();
79 80 });
80 81
81 82 // filter, filter both grids
82 83 $('#q_filter').on( 'keyup', function () {
83 84 var user_api = $('#user_group_list_table').dataTable().api();
84 85 user_api
85 86 .columns(0)
86 87 .search(this.value)
87 88 .draw();
88 89 });
89 90
90 91 // refilter table if page load via back button
91 92 $("#q_filter").trigger('keyup');
92 93
93 94 });
94 95
95 96 </script>
96 97
97 98 </%def>
@@ -1,140 +1,141 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('Users administration')}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; <span id="user_count">0</span>
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='admin')}
18 18 </%def>
19 19
20 20 <%def name="main()">
21 21 <div class="box">
22 22
23 23 <div class="title">
24 24 ${self.breadcrumbs()}
25 25 <ul class="links">
26 26 <li>
27 27 <a href="${h.url('new_user')}" class="btn btn-small btn-success">${_(u'Add User')}</a>
28 28 </li>
29 29 </ul>
30 30 </div>
31 31
32 32 <div id="repos_list_wrap">
33 33 <table id="user_list_table" class="display"></table>
34 34 </div>
35 35 </div>
36 36
37 37 <script>
38 38 $(document).ready(function() {
39 39
40 40 var get_datatable_count = function(){
41 41 var datatable = $('#user_list_table').dataTable();
42 42 var api = datatable.api();
43 43 var total = api.page.info().recordsDisplay;
44 44 var active = datatable.fnGetFilteredData();
45 45 var _text = _gettext("{0} active out of {1} users").format(active, total);
46 46 $('#user_count').text(_text);
47 47 };
48 48
49 49 // custom filter that filters by username OR email
50 50 $.fn.dataTable.ext.search.push(
51 51 function( settings, data, dataIndex ) {
52 52 var query = $('#q_filter').val();
53 53 var username = data[1];
54 54 var email = data[2];
55 55 var first_name = data[3];
56 56 var last_name = data[4];
57 57
58 58 var query_str = username + " " +
59 59 email + " " +
60 60 first_name + " " +
61 61 last_name;
62 62 if((query_str).indexOf(query) !== -1){
63 63 return true;
64 64 }
65 65 return false;
66 66 }
67 67 );
68 68 // filtered data plugin
69 69 $.fn.dataTableExt.oApi.fnGetFilteredData = function ( oSettings ) {
70 70 var res = [];
71 71 for ( var i=0, iLen=oSettings.fnRecordsDisplay() ; i<iLen ; i++ ) {
72 72 var record = oSettings.aoData[i]._aData;
73 73 if(record['active_raw']){
74 74 res.push(record);
75 75 }
76 76 }
77 77 return res.length;
78 78 };
79 79
80 80 // user list
81 81 $('#user_list_table').DataTable({
82 82 data: ${c.data|n},
83 83 dom: 'rtp',
84 84 pageLength: ${c.visual.admin_grid_items},
85 85 order: [[ 1, "asc" ]],
86 86 columns: [
87 87 { data: {"_": "gravatar"}, className: "td-gravatar" },
88 88 { data: {"_": "username",
89 89 "sort": "username_raw"}, title: "${_('Username')}", className: "td-user" },
90 90 { data: {"_": "email",
91 91 "sort": "email"}, title: "${_('Email')}", className: "td-email" },
92 92 { data: {"_": "first_name",
93 93 "sort": "first_name"}, title: "${_('First Name')}", className: "td-user" },
94 94 { data: {"_": "last_name",
95 95 "sort": "last_name"}, title: "${_('Last Name')}", className: "td-user" },
96 96 { data: {"_": "last_login",
97 97 "sort": "last_login_raw",
98 98 "type": Number}, title: "${_('Last login')}", className: "td-time" },
99 99 { data: {"_": "active",
100 100 "sort": "active_raw"}, title: "${_('Active')}", className: "td-active" },
101 101 { data: {"_": "admin",
102 102 "sort": "admin_raw"}, title: "${_('Admin')}", className: "td-admin" },
103 103 { data: {"_": "extern_type",
104 104 "sort": "extern_type"}, title: "${_('Authentication type')}", className: "td-type" },
105 105 { data: {"_": "action",
106 106 "sort": "action"}, title: "${_('Action')}", className: "td-action" }
107 107 ],
108 108 language: {
109 paginate: DEFAULT_GRID_PAGINATION
109 paginate: DEFAULT_GRID_PAGINATION,
110 emptyTable: "No users available yet."
110 111 },
111 112 "initComplete": function( settings, json ) {
112 113 get_datatable_count();
113 114 },
114 115 "createdRow": function ( row, data, index ) {
115 116 if (!data['active_raw']){
116 117 $(row).addClass('closed')
117 118 }
118 119 }
119 120 });
120 121
121 122 // update the counter when doing search
122 123 $('#user_list_table').on( 'search.dt', function (e,settings) {
123 124 get_datatable_count();
124 125 });
125 126
126 127 // filter, filter both grids
127 128 $('#q_filter').on( 'keyup', function () {
128 129 var user_api = $('#user_list_table').dataTable().api();
129 130 user_api
130 131 .draw();
131 132 });
132 133
133 134 // refilter table if page load via back button
134 135 $("#q_filter").trigger('keyup');
135 136
136 137 });
137 138
138 139 </script>
139 140
140 141 </%def>
@@ -1,101 +1,102 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Bookmarks') % c.repo_name}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 <span id="obj_count">0</span> ${_('bookmarks')}
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='repositories')}
18 18 </%def>
19 19
20 20 <%def name="menu_bar_subnav()">
21 21 ${self.repo_menu(active='summary')}
22 22 </%def>
23 23
24 24 <%def name="main()">
25 25 <div class="box">
26 26 <div class="title">
27 27 ${self.repo_page_title(c.rhodecode_db_repo)}
28 28 %if c.has_references:
29 29 <ul class="links">
30 30 <li>
31 31 <input type="submit" id="compare_action" class="btn" disabled="disabled" value="${_('Compare Selected Bookmarks')}">
32 32 </li>
33 33 </ul>
34 34 %endif
35 35 %if c.has_references:
36 36 ${self.breadcrumbs()}
37 37 %endif
38 38 </div>
39 39 <table id="obj_list_table" class="display"></table>
40 40 </div>
41 41
42 42
43 43 <script type="text/javascript">
44 44 $(document).ready(function() {
45 45
46 46 var get_datatable_count = function(){
47 47 var api = $('#obj_list_table').dataTable().api();
48 48 $('#obj_count').text(api.page.info().recordsDisplay);
49 49 };
50 50
51 51 // object list
52 52 $('#obj_list_table').DataTable({
53 53 data: ${c.data|n},
54 54 dom: 'rtp',
55 55 pageLength: ${c.visual.dashboard_items},
56 56 order: [[ 0, "asc" ]],
57 57 columns: [
58 58 { data: {"_": "name",
59 59 "sort": "name_raw"}, title: "${_('Name')}", className: "td-tags" },
60 60 { data: {"_": "date",
61 61 "sort": "date_raw"}, title: "${_('Date')}", className: "td-time" },
62 62 { data: {"_": "author",
63 63 "sort": "author"}, title: "${_('Author')}", className: "td-user" },
64 64 { data: {"_": "commit",
65 65 "sort": "commit_raw",
66 66 "type": Number}, title: "${_('Commit')}", className: "td-hash" },
67 67 { data: {"_": "compare",
68 68 "sort": "compare"}, title: "${_('Compare')}", className: "td-compare" }
69 69 ],
70 70 language: {
71 paginate: DEFAULT_GRID_PAGINATION
71 paginate: DEFAULT_GRID_PAGINATION,
72 emptyTable: "No bookmarks available yet."
72 73 },
73 74 "initComplete": function(settings, json) {
74 75 get_datatable_count();
75 76 timeagoActivate();
76 77 compare_radio_buttons("${c.repo_name}", 'book');
77 78 }
78 79 });
79 80
80 81 // update when things change
81 82 $('#obj_list_table').on('draw.dt', function() {
82 83 get_datatable_count();
83 84 timeagoActivate();
84 85 });
85 86
86 87 // filter, filter both grids
87 88 $('#q_filter').on('keyup', function() {
88 89 var obj_api = $('#obj_list_table').dataTable().api();
89 90 obj_api
90 91 .columns(0)
91 92 .search(this.value)
92 93 .draw();
93 94 });
94 95
95 96 // refilter table if page load via back button
96 97 $("#q_filter").trigger('keyup');
97 98
98 99 });
99 100
100 101 </script>
101 102 </%def>
@@ -1,100 +1,101 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Branches') % c.repo_name}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 <span id="obj_count">0</span> ${_('branches')}
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='repositories')}
18 18 </%def>
19 19
20 20 <%def name="menu_bar_subnav()">
21 21 ${self.repo_menu(active='summary')}
22 22 </%def>
23 23
24 24 <%def name="main()">
25 25 <div class="box">
26 26 <div class="title">
27 27 ${self.repo_page_title(c.rhodecode_db_repo)}
28 28 %if c.has_references:
29 29 <ul class="links">
30 30 <li>
31 31 <input type="submit" id="compare_action" class="btn" disabled="disabled" value="${_('Compare Selected Branches')}"/>
32 32 </li>
33 33 </ul>
34 34 %endif
35 35 %if c.has_references:
36 36 ${self.breadcrumbs()}
37 37 %endif
38 38 </div>
39 39 <table id="obj_list_table" class="display"></table>
40 40 </div>
41 41
42 42 <script type="text/javascript">
43 43 $(document).ready(function() {
44 44
45 45 var get_datatable_count = function(){
46 46 var api = $('#obj_list_table').dataTable().api();
47 47 $('#obj_count').text(api.page.info().recordsDisplay);
48 48 };
49 49
50 50 // object list
51 51 $('#obj_list_table').DataTable({
52 52 data: ${c.data|n},
53 53 dom: 'rtp',
54 54 pageLength: ${c.visual.dashboard_items},
55 55 order: [[ 0, "asc" ]],
56 56 columns: [
57 57 { data: {"_": "name",
58 58 "sort": "name_raw"}, title: "${_('Name')}", className: "td-tags" },
59 59 { data: {"_": "date",
60 60 "sort": "date_raw"}, title: "${_('Date')}", className: "td-time" },
61 61 { data: {"_": "author",
62 62 "sort": "author"}, title: "${_('Author')}", className: "td-user" },
63 63 { data: {"_": "commit",
64 64 "sort": "commit_raw",
65 65 "type": Number}, title: "${_('Commit')}", className: "td-hash" },
66 66 { data: {"_": "compare",
67 67 "sort": "compare"}, title: "${_('Compare')}", className: "td-compare" }
68 68 ],
69 69 language: {
70 paginate: DEFAULT_GRID_PAGINATION
70 paginate: DEFAULT_GRID_PAGINATION,
71 emptyTable: "No branches available yet."
71 72 },
72 73 "initComplete": function( settings, json ) {
73 74 get_datatable_count();
74 75 timeagoActivate();
75 76 compare_radio_buttons("${c.repo_name}", 'branch');
76 77 }
77 78 });
78 79
79 80 // update when things change
80 81 $('#obj_list_table').on('draw.dt', function() {
81 82 get_datatable_count();
82 83 timeagoActivate();
83 84 });
84 85
85 86 // filter, filter both grids
86 87 $('#q_filter').on( 'keyup', function () {
87 88 var obj_api = $('#obj_list_table').dataTable().api();
88 89 obj_api
89 90 .columns(0)
90 91 .search(this.value)
91 92 .draw();
92 93 });
93 94
94 95 // refilter table if page load via back button
95 96 $("#q_filter").trigger('keyup');
96 97
97 98 });
98 99
99 100 </script>
100 101 </%def>
@@ -1,170 +1,172 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="main()">
4 4 <div class="box">
5 5 <!-- box / title -->
6 6 <div class="title">
7 7 <div class="block-left breadcrumbs">
8 8 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
9 9 ${self.breadcrumbs()}
10 10 <span id="match_container" style="display:none">&raquo; <span id="match_count">0</span> ${_('matches')}</span>
11 11 </div>
12 12 %if c.rhodecode_user.username != h.DEFAULT_USER:
13 13 <div class="block-right">
14 14 <%
15 15 is_admin = h.HasPermissionAny('hg.admin')('can create repos index page')
16 16 create_repo = h.HasPermissionAny('hg.create.repository')('can create repository index page')
17 17 create_repo_group = h.HasPermissionAny('hg.repogroup.create.true')('can create repository groups index page')
18 18 create_user_group = h.HasPermissionAny('hg.usergroup.create.true')('can create user groups index page')
19 19
20 20 gr_name = c.repo_group.group_name if c.repo_group else None
21 21 # create repositories with write permission on group is set to true
22 22 create_on_write = h.HasPermissionAny('hg.create.write_on_repogroup.true')()
23 23 group_admin = h.HasRepoGroupPermissionAny('group.admin')(gr_name, 'group admin index page')
24 24 group_write = h.HasRepoGroupPermissionAny('group.write')(gr_name, 'can write into group index page')
25 25 %>
26 26
27 27 %if not c.repo_group:
28 28 ## no repository group context here
29 29 %if is_admin or create_repo:
30 30 <a href="${h.url('new_repo')}" class="btn btn-small btn-success btn-primary">${_('Add Repository')}</a>
31 31 %endif
32 32
33 33 %if is_admin or create_repo_group:
34 34 <a href="${h.url('new_repo_group')}" class="btn btn-small btn-default">${_(u'Add Repository Group')}</a>
35 35 %endif
36 36 %else:
37 37 ##we're inside other repository group other terms apply
38 38 %if is_admin or group_admin or (group_write and create_on_write):
39 39 <a href="${h.url('new_repo',parent_group=c.repo_group.group_id)}" class="btn btn-small btn-success btn-primary">${_('Add Repository')}</a>
40 40 %endif
41 41 %if is_admin or group_admin:
42 42 <a href="${h.url('new_repo_group', parent_group=c.repo_group.group_id)}" class="btn btn-small btn-default">${_(u'Add Repository Group')}</a>
43 43 %endif
44 44 %if is_admin or group_admin:
45 45 <a href="${h.url('edit_repo_group',group_name=c.repo_group.group_name)}" title="${_('You have admin right to this group, and can edit it')}" class="btn btn-small btn-primary">${_('Edit Repository Group')}</a>
46 46 %endif
47 47 %endif
48 48 </div>
49 49 %endif
50 50 </div>
51 51 <!-- end box / title -->
52 52 <div class="table">
53 53 <div id="groups_list_wrap">
54 54 <table id="group_list_table" class="display"></table>
55 55 </div>
56 56 </div>
57 57
58 58 <div class="table">
59 59 <div id="repos_list_wrap">
60 60 <table id="repo_list_table" class="display"></table>
61 61 </div>
62 62 </div>
63 63 </div>
64 64 <script>
65 65 $(document).ready(function() {
66 66
67 67 var get_datatable_count = function() {
68 68 var api = $('#repo_list_table').dataTable().api();
69 69 var pageInfo = api.page.info();
70 70 var repos = pageInfo.recordsDisplay;
71 71 var reposTotal = pageInfo.recordsTotal;
72 72
73 73 api = $('#group_list_table').dataTable().api();
74 74 pageInfo = api.page.info();
75 75 var repoGroups = pageInfo.recordsDisplay;
76 76 var repoGroupsTotal = pageInfo.recordsTotal;
77 77
78 78 if (repoGroups !== repoGroupsTotal) {
79 79 $('#match_count').text(repos+repoGroups);
80 80 }
81 81 if (repos !== reposTotal) {
82 82 $('#match_container').show();
83 83 }
84 84 if ($('#q_filter').val() === '') {
85 85 $('#match_container').hide();
86 86 }
87 87 };
88 88
89 89 // repo group list
90 90 $('#group_list_table').DataTable({
91 91 data: ${c.repo_groups_data|n},
92 92 dom: 'rtp',
93 93 pageLength: ${c.visual.dashboard_items},
94 94 order: [[ 0, "asc" ]],
95 95 columns: [
96 96 { data: {"_": "name",
97 97 "sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname" },
98 98 { data: 'menu', "bSortable": false, className: "quick_repo_menu" },
99 99 { data: {"_": "desc",
100 100 "sort": "desc"}, title: "${_('Description')}", className: "td-description" },
101 101 { data: {"_": "owner",
102 102 "sort": "owner"}, title: "${_('Owner')}", className: "td-user" }
103 103 ],
104 104 language: {
105 paginate: DEFAULT_GRID_PAGINATION
105 paginate: DEFAULT_GRID_PAGINATION,
106 emptyTable: "No repository groups available yet."
106 107 },
107 108 "drawCallback": function( settings, json ) {
108 109 timeagoActivate();
109 110 quick_repo_menu();
110 111 }
111 112 });
112 113
113 114 // repo list
114 115 $('#repo_list_table').DataTable({
115 116 data: ${c.repos_data|n},
116 117 dom: 'rtp',
117 118 order: [[ 0, "asc" ]],
118 119 pageLength: ${c.visual.dashboard_items},
119 120 columns: [
120 121 { data: {"_": "name",
121 122 "sort": "name_raw"}, title: "${_('Name')}", className: "truncate-wrap td-componentname" },
122 123 { data: 'menu', "bSortable": false, className: "quick_repo_menu" },
123 124 { data: {"_": "desc",
124 125 "sort": "desc"}, title: "${_('Description')}", className: "td-description" },
125 126 { data: {"_": "last_change",
126 127 "sort": "last_change_raw",
127 128 "type": Number}, title: "${_('Last Change')}", className: "td-time" },
128 129 { data: {"_": "last_changeset",
129 130 "sort": "last_changeset_raw",
130 131 "type": Number}, title: "${_('Commit')}", className: "td-hash" },
131 132 { data: {"_": "owner",
132 133 "sort": "owner"}, title: "${_('Owner')}", className: "td-user" },
133 134 { data: {"_": "rss",
134 135 "sort": "rss"}, title: "rss", className: "td-rss" }
135 136 ],
136 137 language: {
137 paginate: DEFAULT_GRID_PAGINATION
138 paginate: DEFAULT_GRID_PAGINATION,
139 emptyTable: "No repositories available yet."
138 140 },
139 141 "drawCallback": function( settings, json ) {
140 142 timeagoActivate();
141 143 quick_repo_menu();
142 144 }
143 145 });
144 146
145 147 // update the counter when doing search
146 148 $('#repo_list_table, #group_list_table').on( 'search.dt', function (e,settings) {
147 149 get_datatable_count();
148 150 });
149 151
150 152 // filter, filter both grids
151 153 $('#q_filter').on( 'keyup', function () {
152 154 var repo_api = $('#repo_list_table').dataTable().api();
153 155 repo_api
154 156 .columns( 0 )
155 157 .search( this.value )
156 158 .draw();
157 159
158 160 var repo_group_api = $('#group_list_table').dataTable().api();
159 161 repo_group_api
160 162 .columns( 0 )
161 163 .search( this.value )
162 164 .draw();
163 165 });
164 166
165 167 // refilter table if page load via back button
166 168 $("#q_filter").trigger('keyup');
167 169
168 170 });
169 171 </script>
170 172 </%def>
@@ -1,131 +1,132 b''
1 1 <%inherit file="/base/base.html"/>
2 2
3 3 <%def name="title()">
4 4 ${_('%s Pull Requests') % c.repo_name}
5 5 %if c.rhodecode_name:
6 6 &middot; ${h.branding(c.rhodecode_name)}
7 7 %endif
8 8 </%def>
9 9
10 10 <%def name="breadcrumbs_links()">
11 11
12 12 </%def>
13 13
14 14 <%def name="menu_bar_nav()">
15 15 ${self.menu_items(active='repositories')}
16 16 </%def>
17 17
18 18
19 19 <%def name="menu_bar_subnav()">
20 20 ${self.repo_menu(active='showpullrequest')}
21 21 </%def>
22 22
23 23
24 24 <%def name="main()">
25 25 <div class="box">
26 26 <div class="title">
27 27 ${self.repo_page_title(c.rhodecode_db_repo)}
28 28
29 29 <ul class="links">
30 30 <li>
31 31 %if c.rhodecode_user.username != h.DEFAULT_USER:
32 32 <span>
33 33 <a id="open_new_pull_request" class="btn btn-small btn-success" href="${h.url('pullrequest_home',repo_name=c.repo_name)}">
34 34 ${_('Open new Pull Request')}
35 35 </a>
36 36 </span>
37 37 %endif
38 38 </li>
39 39 </ul>
40 40
41 41 ${self.breadcrumbs()}
42 42 </div>
43 43
44 44 <div class="sidebar-col-wrapper">
45 45 ##main
46 46 <div class="sidebar">
47 47 <ul class="nav nav-pills nav-stacked">
48 48 <li class="${'active' if c.active=='open' else ''}"><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name,source=0)}">${_('Opened')}</a></li>
49 49 <li class="${'active' if c.active=='my' else ''}"><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name,source=0,my=1)}">${_('Opened by me')}</a></li>
50 50 <li class="${'active' if c.active=='awaiting' else ''}"><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name,source=0,awaiting_review=1)}">${_('Awaiting review')}</a></li>
51 51 <li class="${'active' if c.active=='awaiting_my' else ''}"><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name,source=0,awaiting_my_review=1)}">${_('Awaiting my review')}</a></li>
52 52 <li class="${'active' if c.active=='closed' else ''}"><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name,source=0,closed=1)}">${_('Closed')}</a></li>
53 53 <li class="${'active' if c.active=='source' else ''}"><a href="${h.url('pullrequest_show_all',repo_name=c.repo_name,source=1)}">${_('From this repo')}</a></li>
54 54 </ul>
55 55 </div>
56 56
57 57 <div class="main-content-full-width">
58 58 <div class="panel panel-default">
59 59 <div class="panel-heading">
60 60 <h3 class="panel-title">
61 61 %if c.source:
62 62 ${_('Pull Requests from %(repo_name)s repository') % {'repo_name': c.repo_name}}
63 63 %elif c.closed:
64 64 ${_('Closed Pull Requests to repository %(repo_name)s') % {'repo_name': c.repo_name}}
65 65 %elif c.my:
66 66 ${_('Pull Requests to %(repo_name)s repository opened by me') % {'repo_name': c.repo_name}}
67 67 %elif c.awaiting_review:
68 68 ${_('Pull Requests to %(repo_name)s repository awaiting review') % {'repo_name': c.repo_name}}
69 69 %elif c.awaiting_my_review:
70 70 ${_('Pull Requests to %(repo_name)s repository awaiting my review') % {'repo_name': c.repo_name}}
71 71 %else:
72 72 ${_('Pull Requests to %(repo_name)s repository') % {'repo_name': c.repo_name}}
73 73 %endif
74 74 </h3>
75 75 </div>
76 76 <div class="panel-body">
77 77 <table id="pull_request_list_table" class="display"></table>
78 78 </div>
79 79 </div>
80 80 </div>
81 81 </div>
82 82 </div>
83 83
84 84 <script type="text/javascript">
85 85 $(document).ready(function() {
86 86 // object list
87 87 $('#pull_request_list_table').DataTable({
88 88 data: ${c.data|n},
89 89 processing: true,
90 90 serverSide: true,
91 91 deferLoading: ${c.records_total},
92 92 ajax: "",
93 93 dom: 'tp',
94 94 pageLength: ${c.visual.dashboard_items},
95 95 order: [[ 1, "desc" ]],
96 96 columns: [
97 97 { data: {"_": "status",
98 98 "sort": "status"}, title: "", className: "td-status", orderable: false},
99 99 { data: {"_": "name",
100 100 "sort": "name_raw"}, title: "${_('Name')}", className: "td-componentname", "type": "num" },
101 101 { data: {"_": "author",
102 102 "sort": "author_raw"}, title: "${_('Author')}", className: "td-user", orderable: false },
103 103 { data: {"_": "title",
104 104 "sort": "title"}, title: "${_('Title')}", className: "td-description" },
105 105 { data: {"_": "comments",
106 106 "sort": "comments_raw"}, title: "", className: "td-comments", orderable: false},
107 107 { data: {"_": "updated_on",
108 108 "sort": "updated_on_raw"}, title: "${_('Updated on')}", className: "td-time" }
109 109 ],
110 110 language: {
111 paginate: DEFAULT_GRID_PAGINATION
111 paginate: DEFAULT_GRID_PAGINATION,
112 emptyTable: "No pull requests available yet."
112 113 },
113 114 "drawCallback": function( settings, json ) {
114 115 timeagoActivate();
115 116 },
116 117 "createdRow": function ( row, data, index ) {
117 118 if (data['closed']) {
118 119 $(row).addClass('closed');
119 120 }
120 121 }
121 122 });
122 123 });
123 124 $('#pull_request_list_table').on('xhr.dt', function(e, settings, json, xhr){
124 125 $('#pull_request_list_table').css('opacity', 1);
125 126 });
126 127
127 128 $('#pull_request_list_table').on('preXhr.dt', function(e, settings, data){
128 129 $('#pull_request_list_table').css('opacity', 0.3);
129 130 });
130 131 </script>
131 132 </%def>
@@ -1,100 +1,101 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="/base/base.html"/>
3 3
4 4 <%def name="title()">
5 5 ${_('%s Tags') % c.repo_name}
6 6 %if c.rhodecode_name:
7 7 &middot; ${h.branding(c.rhodecode_name)}
8 8 %endif
9 9 </%def>
10 10
11 11 <%def name="breadcrumbs_links()">
12 12 <input class="q_filter_box" id="q_filter" size="15" type="text" name="filter" placeholder="${_('quick filter...')}" value=""/>
13 13 <span id="obj_count">0</span> ${_('tags')}
14 14 </%def>
15 15
16 16 <%def name="menu_bar_nav()">
17 17 ${self.menu_items(active='repositories')}
18 18 </%def>
19 19
20 20 <%def name="menu_bar_subnav()">
21 21 ${self.repo_menu(active='summary')}
22 22 </%def>
23 23
24 24 <%def name="main()">
25 25 <div class="box">
26 26 <div class="title">
27 27 ${self.repo_page_title(c.rhodecode_db_repo)}
28 28 %if c.has_references:
29 29 <ul class="links">
30 30 <li>
31 31 <input type="submit" id="compare_action" class="btn" disabled="disabled" value="${_('Compare Selected Tags')}">
32 32 </li>
33 33 </ul>
34 34 %endif
35 35 %if c.has_references:
36 36 ${self.breadcrumbs()}
37 37 %endif
38 38 </div>
39 39 <table id="obj_list_table" class="display"></table>
40 40 </div>
41 41
42 42
43 43 <script type="text/javascript">
44 44 $(document).ready(function() {
45 45
46 46 var get_datatable_count = function(){
47 47 var api = $('#obj_list_table').dataTable().api();
48 48 $('#obj_count').text(api.page.info().recordsDisplay);
49 49 };
50 50
51 51 // object list
52 52 $('#obj_list_table').DataTable({
53 53 data: ${c.data|n},
54 54 dom: 'rtp',
55 55 pageLength: ${c.visual.dashboard_items},
56 56 order: [[ 0, "asc" ]],
57 57 columns: [
58 58 { data: {"_": "name",
59 59 "sort": "name_raw"}, title: "${_('Name')}", className: "td-tags" },
60 60 { data: {"_": "date",
61 61 "sort": "date_raw"}, title: "${_('Date')}", className: "td-time" },
62 62 { data: {"_": "author",
63 63 "sort": "author"}, title: "${_('Author')}", className: "td-user" },
64 64 { data: {"_": "commit",
65 65 "sort": "commit_raw",
66 66 "type": Number}, title: "${_('Commit')}", className: "td-hash" },
67 67 { data: {"_": "compare",
68 68 "sort": "compare"}, title: "${_('Compare')}", className: "td-compare" }
69 69 ],
70 70 language: {
71 paginate: DEFAULT_GRID_PAGINATION
71 paginate: DEFAULT_GRID_PAGINATION,
72 emptyTable: "No tags available yet."
72 73 },
73 74 "initComplete": function(settings, json) {
74 75 get_datatable_count();
75 76 timeagoActivate();
76 77 compare_radio_buttons("${c.repo_name}", 'tag');
77 78 }
78 79 });
79 80
80 81 // update when things change
81 82 $('#obj_list_table').on('draw.dt', function() {
82 83 get_datatable_count();
83 84 timeagoActivate();
84 85 });
85 86
86 87 // filter, filter both grids
87 88 $('#q_filter').on('keyup', function() {
88 89 var obj_api = $('#obj_list_table').dataTable().api();
89 90 obj_api
90 91 .columns(0)
91 92 .search(this.value)
92 93 .draw();
93 94 });
94 95
95 96 // refilter table if page load via back button
96 97 $("#q_filter").trigger('keyup');
97 98 });
98 99
99 100 </script>
100 101 </%def>
General Comments 0
You need to be logged in to leave comments. Login now