Skip to content

Commit 15a496a

Browse files
author
Tim Shawver
committed
Fix issue where the date control's next/prev icons weren't appearing. Also fixed an issue where the selected date filter wouldn't be restored when the date filter was reopened.
1 parent 711790a commit 15a496a

3 files changed

Lines changed: 46 additions & 10 deletions

File tree

js/src/qgrid.css

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@
635635
z-index: 9999 !important;
636636
}
637637

638-
#ui-datepicker-div .ui-datepicker {
638+
#ui-datepicker-div.ui-datepicker {
639639
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
640640
/*@include box-shadow(0 5px 10px rgba(0, 0, 0, 0.2))*/
641641
z-index: 99 !important;
@@ -644,6 +644,26 @@
644644
border: 1px solid gray;
645645
}
646646

647+
#ui-datepicker-div.ui-datepicker .ui-icon {
648+
display: inline-block;
649+
font: normal normal normal 14px/1 FontAwesome;
650+
font-size: inherit;
651+
text-rendering: auto;
652+
-webkit-font-smoothing: antialiased;
653+
-moz-osx-font-smoothing: grayscale;
654+
text-indent: 0px;
655+
margin-left: -4px;
656+
margin-top: -6px;
657+
}
658+
659+
#ui-datepicker-div.ui-datepicker .ui-icon-circle-triangle-w:before {
660+
content: "\f053";
661+
}
662+
663+
#ui-datepicker-div.ui-datepicker .ui-icon-circle-triangle-e:before {
664+
content: "\f054";
665+
}
666+
647667

648668
/* from slickgrid editing example */
649669
input.editor-text {

js/src/qgrid.datefilter.js

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ class DateFilter extends filter_base.FilterBase {
8383
var end_date_string = this.end_date_control.val();
8484

8585
var start_date = new Date(start_date_string);
86+
var end_date = new Date(end_date_string);
8687

87-
// use the last millisecond of the end_date (1000ms * 60s * 60m * 24h)
88-
var end_date = new Date(
89-
(new Date(end_date_string).getTime()) + (1000 * 60 * 60 * 24) - 1
90-
);
88+
start_date = Date.UTC(start_date.getUTCFullYear(), start_date.getUTCMonth(), start_date.getUTCDate());
89+
end_date = Date.UTC(end_date.getUTCFullYear(), end_date.getUTCMonth(), end_date.getUTCDate());
90+
end_date += (1000 * 60 * 60 * 24) - 1;
9191

92-
this.filter_start_date = start_date.getTime();
93-
this.filter_end_date = end_date.getTime();
92+
this.filter_start_date = start_date;
93+
this.filter_end_date = end_date;
9494

9595
this.send_filter_changed();
9696

@@ -112,8 +112,22 @@ class DateFilter extends filter_base.FilterBase {
112112

113113
this.filter_elem.find(".datepicker").datepicker(date_options);
114114

115-
this.start_date_control.datepicker("setDate", this.min_date);
116-
this.end_date_control.datepicker("setDate", this.max_date);
115+
if (this.filter_start_date != null){
116+
this.start_date_control.datepicker("setDate", this.get_utc_date(this.filter_start_date));
117+
} else {
118+
this.start_date_control.datepicker("setDate", this.min_date);
119+
}
120+
121+
if (this.filter_end_date != null){
122+
this.end_date_control.datepicker("setDate", this.get_utc_date(this.filter_end_date));
123+
} else {
124+
this.end_date_control.datepicker("setDate", this.max_date);
125+
}
126+
}
127+
128+
get_utc_date(date_ms) {
129+
var date = new Date(date_ms);
130+
return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
117131
}
118132

119133
get_filter_info() {

js/src/qgrid.widget.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,9 @@ class QgridView extends widgets.DOMWidgetView {
302302
$.datepicker.setDefaults({
303303
gotoCurrent: true,
304304
dateFormat: $.datepicker.ISO_8601,
305-
constrainInput: false
305+
constrainInput: false,
306+
"prevText": "",
307+
"nextText": ""
306308
});
307309

308310
var sorted_columns = Object.values(columns).sort(

0 commit comments

Comments
 (0)