' +
94 | '
Today
' +
95 | '
Yesterday
' +
96 | '
This Week
' +
97 | '
This Month
' +
98 | '
Last Week
' +
99 | '
Last Month
' +
100 | additional_items_html +
101 | '
'
102 | ).ready(function() {
103 | let container = $(this).find('.block_timerange');
104 |
105 | // additional ranges
106 | opts.add_range.forEach(function(el, i) {
107 | $(container).on('click.CalendarRangeSet', '.btn_date_range_' + i, function(e) {
108 | unbindClickEventBlockTimerange();
109 | let start = new Date(el['start'].getFullYear(), el['start'].getMonth(), el['start'].getDate());
110 | let end = new Date(el['end'].getFullYear(), el['end'].getMonth(), el['end'].getDate());
111 | fillInputs(start, end)
112 | });
113 | });
114 |
115 | // Today
116 | $(container).on('click.CalendarRangeSet', '.btn_today', function(e) {
117 | unbindClickEventBlockTimerange();
118 | let start = new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate());
119 | let end = new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + 1);
120 | fillInputs(start, end);
121 | });
122 |
123 | // Yesterday
124 | $(container).on('click.CalendarRangeSet', '.btn_yesterday', function(e) {
125 | unbindClickEventBlockTimerange();
126 | let start = new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() - 1);
127 | let end = new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate());
128 | fillInputs(start, end);
129 | });
130 |
131 | // Week
132 | $(container).on('click.CalendarRangeSet', '.btn_week', function(e) {
133 | unbindClickEventBlockTimerange();
134 | let start = new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() - datetime.getDay() + 1);
135 | let end = new Date(start.getFullYear(), start.getMonth(), start.getDate() + 7);
136 | fillInputs(start, end);
137 | });
138 |
139 | // Month
140 | $(container).on('click.CalendarRangeSet', '.btn_month', function(e) {
141 | unbindClickEventBlockTimerange();
142 | let start = new Date(datetime.getFullYear(), datetime.getMonth(), 1);
143 | let end = new Date(datetime.getFullYear(), datetime.getMonth() + 1, 1);
144 | fillInputs(start, end);
145 | });
146 |
147 | // Last Week
148 | $(container).on('click.CalendarRangeSet', '.btn_last_week', function(e) {
149 | unbindClickEventBlockTimerange();
150 | let end = new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() - datetime.getDay() + 1);
151 | let start = new Date(end.getFullYear(), end.getMonth(), end.getDate() - 7);
152 | fillInputs(start, end);
153 | });
154 |
155 | // Last Month
156 | $(container).on('click.CalendarRangeSet', '.btn_last_month', function(e) {
157 | unbindClickEventBlockTimerange();
158 | let end = new Date(datetime.getFullYear(), datetime.getMonth(), 1);
159 | let start = new Date(end.getFullYear(), end.getMonth() - 1, 1);
160 | fillInputs(start, end);
161 | });
162 |
163 | // Outer
164 | $('body').on('click.CalendarRangeSet', function(e) {
165 | e.stopPropagation();
166 | if ($(e.target).closest('.block_timerange').length == 0) {
167 | unbindClickEventBlockTimerange();
168 | }
169 | });
170 | });
171 | });
172 | });
173 | }
174 |
175 | $.fn.date_range_ext_preset.defaults = {
176 | // Manual global time shift, from UTC can be +/- number
177 | hours_offset: 0,
178 |
179 | // date_to_human_readable = true, then "date_to" consider as including full day without last second
180 | // For example Today will be:
181 | // true
182 | // 2015-06-10 - 2015-06-10
183 | // 2015-06-10 00:00:00 - 2015-06-10 23:59:59
184 | // false
185 | // 2015-06-10 - 2015-06-11
186 | // 2015-06-10 00:00:00 - 2015-06-11 00:00:00
187 | date_to_human_readable: false,
188 |
189 | // Display time or not: 2015-06-10 vs 2015-06-10 00:00:00
190 | show_time: false,
191 |
192 | // Array of addition ranges
193 | // example:
194 | // {
195 | // title: 'Last 30 days',
196 | // start: new Date().setDate((new Date()).getDate() - 30)
197 | // end: new Date()
198 | // }
199 | add_range: []
200 | }
201 | });
202 |
203 | $(document).on('ready', function() {
204 | // Init in forms
205 | $('.datetime_preset_pair').date_range_ext_preset();
206 | });
207 |
--------------------------------------------------------------------------------