all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pmg-devel] [PATCH pmg-gui v2] StatTimeSelector: don't show invalid month/day combinations
@ 2022-07-01  8:03 Dominik Csapak
  2022-07-01  9:32 ` Thomas Lamprecht
  0 siblings, 1 reply; 4+ messages in thread
From: Dominik Csapak @ 2022-07-01  8:03 UTC (permalink / raw)
  To: pmg-devel

by limiting the store of the day selector by the selected month

reported by a user in the forum:
https://forum.proxmox.com/threads/wrong-calendar.111631/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v1:
* use js 'Date' to correctly calculate the last day of the month
  including leapyears, etc.

 js/StatTimeSelector.js | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/js/StatTimeSelector.js b/js/StatTimeSelector.js
index f01b058..eae2d91 100644
--- a/js/StatTimeSelector.js
+++ b/js/StatTimeSelector.js
@@ -73,7 +73,25 @@ Ext.define('PMG.StatTimeSelector', {
 	    Ext.GlobalEvents.fireEvent('pmgStatTimeSelectorUpdate', data);
 	},
 
+	updateDays: function() {
+	    let yearsel = this.lookupReference('yearsel');
+	    let monthsel = this.lookupReference('monthsel');
+	    let daysel = this.lookupReference('daysel');
+	    let year = yearsel.getValue();
+	    let month = monthsel.getValue();
+	    // create a date for the next month, but day 0 which wraps to
+	    // the last day of the current month. Our month is already
+	    // 1 greater than what Date expects, so we don't have to add 1
+	    let maxDays = new Date(year, month, 0).getDate();
+	    daysel.getStore().setFilters([{
+		property: 'day',
+		operator: '<=',
+		value: maxDays,
+	    }]);
+	},
+
 	onSelect: function() {
+	    this.updateDays();
 	    this.updateVisibility();
 	},
 
-- 
2.30.2





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-07-01 11:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-01  8:03 [pmg-devel] [PATCH pmg-gui v2] StatTimeSelector: don't show invalid month/day combinations Dominik Csapak
2022-07-01  9:32 ` Thomas Lamprecht
2022-07-01  9:57   ` Dominik Csapak
2022-07-01 11:36     ` Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal