1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-22 18:50:08 +03:00

Feature #3268: Remember the number of items to show on datatable

This commit is contained in:
Tino Vazquez 2015-07-03 17:37:45 +02:00
parent 77c286caa3
commit 0c77b23004
3 changed files with 40 additions and 4 deletions

View File

@ -11,6 +11,7 @@ define(function(require) {
var Tips = require('utils/tips');
var OpenNebula = require('opennebula');
var Notifier = require('utils/notifier');
var OpenNebulaUser = require('opennebula/user');
/*
TEMPLATES
@ -152,10 +153,38 @@ define(function(require) {
}
this.initSelectResourceTableSelect();
} else {
this.dataTableOptions.pageLength = config['page_length'];
}
this.dataTable = $('#' + this.dataTableId).dataTable(this.dataTableOptions);
// Remember page length only for non selectable datatables
if (!this.conf.select) {
this.dataTable.on( 'length.dt', function ( e, settings, len ) {
config['page_length'] = len;
OpenNebulaUser.show({
data : {
id: config['user_id']
},
success: function(request, response) {
var template = response.USER.TEMPLATE;
template["TABLE_DEFAULT_PAGE_LENGTH"] = len;
template_str = "";
$.each(template, function(key, value) {
template_str += (key + '=' + '"' + value + '"\n');
});
Sunstone.runAction("User.update_template", config['user_id'], template_str);
}
});
});
}
var that = this;
$('#' + this.dataTableId + 'Search').keyup(function() {
that.dataTable.fnFilter($(this).val());

View File

@ -229,6 +229,12 @@ helpers do
session[:lang] = $conf[:lang]
end
if user['TEMPLATE/TABLE_DEFAULT_PAGE_LENGTH']
session[:page_length] = user['TEMPLATE/TABLE_DEFAULT_PAGE_LENGTH']
else
session[:page_length] = DEFAULT_PAGE_LENGTH
end
wss = $conf[:vnc_proxy_support_wss]
#limit to yes,no options
session[:vnc_wss] = (wss == true || wss == "yes" || wss == "only" ?

View File

@ -9,7 +9,7 @@
<% if session[:lang] %>
<script src="locale/languages/<%= session[:lang] %>.js?v=<%= OpenNebula::VERSION %>" type="text/javascript"></script>
<% end %>
<% view = $views_config.view(session[:user], session[:user_gname], session[:default_view]) %>
<script type="text/javascript">
var csrftoken = '<%= session[:csrftoken] %>';
@ -39,7 +39,8 @@
'user_gid' : '<%= session[:user_gid] %>',
'display_name' : '<%= session[:display_name] %>',
'zone_name' : '<%= session[:zone_name] %>',
'instance_types' : JSON.parse('<%= cloud_view_instance_types().to_json %>')
'instance_types' : JSON.parse('<%= cloud_view_instance_types().to_json %>'),
'page_length' : '<%= session[:page_length] %>'
};
</script>
@ -87,9 +88,9 @@
<% if $conf[:env] == 'dev' %>
<script src="bower_components/requirejs/require.js" data-main="app/main"></script>
<script src="bower_components/requirejs/require.js" data-main="app/main"></script>
<% else %>
<script src="dist/main.js"></script>
<script src="dist/main.js"></script>
<% end %>
</body>
</html>