public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>,
	Dominik Csapak <d.csapak@proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup v2 3/6] ui: implment task history limit and make it configurable
Date: Tue, 6 Oct 2020 12:53:38 +0200	[thread overview]
Message-ID: <db31739b-e49b-14b0-26e3-0bb7183aadb0@proxmox.com> (raw)
In-Reply-To: <20201006102528.15383-3-d.csapak@proxmox.com>

On 06.10.20 12:25, Dominik Csapak wrote:
> we showed 'last month' even if we did not limit the api call
> implement that and make the number of days configurable
> (we have most of the code already available for that, since
> the base dashboard got copied from pmg and never cleaned up)
> 
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> changes from v1:
> * use the days for the relevant subpanels only
>  www/Dashboard.js              | 52 +++++++++++++++++++++++------------
>  www/dashboard/LongestTasks.js |  2 +-
>  www/dashboard/TaskSummary.js  |  2 +-
>  3 files changed, 36 insertions(+), 20 deletions(-)
> 
> diff --git a/www/Dashboard.js b/www/Dashboard.js
> index a04b4040..5c9d5c3a 100644
> --- a/www/Dashboard.js
> +++ b/www/Dashboard.js
> @@ -21,23 +21,23 @@ Ext.define('PBS.Dashboard', {
>  		    defaultButton: 'savebutton',
>  		    items: [{
>  			xtype: 'proxmoxintegerfield',
> -			itemId: 'hours',
> +			itemId: 'days',
>  			labelWidth: 100,
>  			anchor: '100%',
>  			allowBlank: false,
>  			minValue: 1,
> -			maxValue: 24,
> -			value: viewModel.get('hours'),
> +			maxValue: 60,
> +			value: viewModel.get('days'),
>  			fieldLabel: gettext('Hours to show'),

s/Hours/Days/

(can do a fixup here, though)


>  		    }],
>  		    buttons: [{
>  			text: gettext('Save'),
> -			reference: 'loginButton',
> +			reference: 'savebutton',
>  			formBind: true,
>  			handler: function() {
>  			    var win = this.up('window');
> -			    var hours = win.down('#hours').getValue();
> -			    me.setHours(hours, true);
> +			    var days = win.down('#days').getValue();
> +			    me.setDays(days, true);
>  			    win.close();
>  			},
>  		    }],
> @@ -45,15 +45,17 @@ Ext.define('PBS.Dashboard', {
>  	    }).show();
>  	},
>  
> -	setHours: function(hours, setState) {
> +	setDays: function(days, setState) {
>  	    var me = this;
>  	    var viewModel = me.getViewModel();
> -	    viewModel.set('hours', hours);
> +	    viewModel.set('days', days);
>  	    viewModel.notify();
>  
> +	    viewModel.getStore('tasks').reload();
> +
>  	    if (setState) {
>  		var sp = Ext.state.Manager.getProvider();
> -		sp.set('dashboard-hours', hours);
> +		sp.set('dashboard-days', days);
>  	    }
>  	},
>  
> @@ -164,24 +166,20 @@ Ext.define('PBS.Dashboard', {
>  	init: function(view) {
>  	    var me = this;
>  	    var sp = Ext.state.Manager.getProvider();
> -	    var hours = sp.get('dashboard-hours') || 12;
> -	    me.setHours(hours, false);
> +	    var days = sp.get('dashboard-days') || 30;
> +	    me.setDays(days, false);
>  	},
>      },
>  
>      viewModel: {
>  	data: {
> -	    timespan: 300, // in seconds
> -	    hours: 12, // in hours
> -	    error_shown: false,
>  	    fingerprint: "",
> -	    'bytes_in': 0,
> -	    'bytes_out': 0,
> -	    'avg_ptime': 0.0,
> +	    days: 30,
>  	},
>  
>  	formulas: {
>  	    disableFPButton: (get) => get('fingerprint') === "",
> +	    sinceEpoch: (get) => (Date.now()/1000 - get('days') * 24*3600).toFixed(0),
>  	},
>  
>  	stores: {
> @@ -226,6 +224,9 @@ Ext.define('PBS.Dashboard', {
>  		proxy: {
>  		    type: 'proxmox',
>  		    url: '/api2/json/status/tasks',
> +		    extraParams: {
> +			since: '{sinceEpoch}',
> +		    },
>  		},
>  		listeners: {
>  		    load: 'updateTasks',
> @@ -234,7 +235,7 @@ Ext.define('PBS.Dashboard', {
>  	},
>      },
>  
> -    title: gettext('Dashboard') + ' - WIP',
> +    title: gettext('Dashboard'),
>  
>      layout: {
>  	type: 'column',
> @@ -248,6 +249,13 @@ Ext.define('PBS.Dashboard', {
>  	margin: '0 20 20 0',
>      },
>  
> +    tools: [
> +	{
> +	    type: 'gear',
> +	    handler: 'openDashboardOptions',
> +	},
> +    ],
> +
>      scrollable: true,
>  
>      items: [
> @@ -296,6 +304,10 @@ Ext.define('PBS.Dashboard', {
>  	},
>  	{
>  	    xtype: 'pbsLongestTasks',
> +	    bind: {
> +		title: gettext('Longest Tasks') + ' (' +
> +		Ext.String.format(gettext('{0} days'), '{days}') + ')',
> +	    },
>  	    reference: 'longesttasks',
>  	    height: 250,
>  	},
> @@ -304,6 +316,10 @@ Ext.define('PBS.Dashboard', {
>  	    height: 250,
>  	},
>  	{
> +	    bind: {
> +		title: gettext('Task Summary') + ' (' +
> +		Ext.String.format(gettext('{0} days'), '{days}') + ')',
> +	    },
>  	    xtype: 'pbsTaskSummary',
>  	    reference: 'tasksummary',
>  	},
> diff --git a/www/dashboard/LongestTasks.js b/www/dashboard/LongestTasks.js
> index f74e768e..20cf1183 100644
> --- a/www/dashboard/LongestTasks.js
> +++ b/www/dashboard/LongestTasks.js
> @@ -2,7 +2,7 @@ Ext.define('PBS.LongestTasks', {
>      extend: 'Ext.grid.Panel',
>      alias: 'widget.pbsLongestTasks',
>  
> -    title: gettext('Longest Tasks (last Month)'),
> +    title: gettext('Longest Tasks'),
>  
>      hideHeaders: true,
>      rowLines: false,
> diff --git a/www/dashboard/TaskSummary.js b/www/dashboard/TaskSummary.js
> index fcf32ab1..0cf049cd 100644
> --- a/www/dashboard/TaskSummary.js
> +++ b/www/dashboard/TaskSummary.js
> @@ -2,7 +2,7 @@ Ext.define('PBS.TaskSummary', {
>      extend: 'Ext.panel.Panel',
>      alias: 'widget.pbsTaskSummary',
>  
> -    title: gettext('Task Summary (last Month)'),
> +    title: gettext('Task Summary'),
>  
>      controller: {
>  	xclass: 'Ext.app.ViewController',
> 





  reply	other threads:[~2020-10-06 10:53 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-06 10:25 [pbs-devel] [PATCH proxmox-backup v2 1/6] api2/types: add TaskStateType struct Dominik Csapak
2020-10-06 10:25 ` [pbs-devel] [PATCH proxmox-backup v2 2/6] api2/status: add type- and statusfilter to tasks api call Dominik Csapak
2020-10-06 10:25 ` [pbs-devel] [PATCH proxmox-backup v2 3/6] ui: implment task history limit and make it configurable Dominik Csapak
2020-10-06 10:53   ` Thomas Lamprecht [this message]
2020-10-06 11:25     ` Dominik Csapak
2020-10-06 10:25 ` [pbs-devel] [PATCH proxmox-backup v2 4/6] ui: Dashboard/TaskSummary: refactor types and title Dominik Csapak
2020-10-06 10:25 ` [pbs-devel] [PATCH proxmox-backup v2 5/6] ui: Dashboard/TaskSummary: add Verifies to the Summary Dominik Csapak
2020-10-06 11:10   ` Thomas Lamprecht
2020-10-06 11:25     ` Thomas Lamprecht
2020-10-06 10:25 ` [pbs-devel] [PATCH proxmox-backup v2 6/6] ui: Dashboard/TaskSummary: show task overlay when clicking on a count Dominik Csapak
2020-10-06 14:07 ` [pbs-devel] applied-series: [PATCH proxmox-backup v2 1/6] api2/types: add TaskStateType struct Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=db31739b-e49b-14b0-26e3-0bb7183aadb0@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=d.csapak@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal