]> wagnertech.de Git - mfinanz.git/blob - js/kivi.Presenter.DatePeriodPicker.js
date error in mapping
[mfinanz.git] / js / kivi.Presenter.DatePeriodPicker.js
1 namespace('kivi.ReportPeriod', function(ns) {
2
3   ns.open_dialog = function(el) {
4
5     ns.current_id = el.parentNode.id;
6
7     ns.current_dialog = $(`#${ ns.current_id }_preset_dialog`).dialog({
8       title: kivi.t8('Select from preset'),
9       width:  340,
10       height: 330,
11       modal: true,
12     });
13   }
14
15   ns.apply_preset = function() {
16
17     const year = $(`#${ ns.current_id }_preset_dialog_year`).val();
18     const type = $(`input[name="${ ns.current_id }_preset_dialog_type"]:checked`).val();
19     const quarter = $(`#${ ns.current_id }_preset_dialog_quarter`).val();
20     const month = $(`#${ ns.current_id }_preset_dialog_month`).val();
21
22     let duetyp = 13; // (yearly)
23     if (type === 'quarterly') {
24       duetyp = quarter;
25     } else if (type === 'monthly') {
26       duetyp = month;
27     }
28     ns.set_from_to(duetyp, year);
29
30     $(`#${ ns.current_id }_selected_preset_year`).val(year);
31     $(`#${ ns.current_id }_selected_preset_type`).val(type);
32     $(`#${ ns.current_id }_selected_preset_quarter`).val(quarter);
33     $(`#${ ns.current_id }_selected_preset_month`).val(month);
34
35     ns.current_dialog.dialog('close');
36     $(`#${ ns.current_id }_preset_dialog_button`)
37   }
38
39   ns.set_from_to = function (duetyp, year) {
40     const date = {
41       1:  [ 1,  1, 1,  31 ],
42       2:  [ 2,  1, 2,  new Date(year, 1, 29).getMonth() == 1 ? 29 : 28 ],
43       3:  [ 3,  1, 3,  31 ],
44       4:  [ 4,  1, 4,  30 ],
45       5:  [ 5,  1, 5,  31 ],
46       6:  [ 6,  1, 6,  30 ],
47       7:  [ 7,  1, 7,  31 ],
48       8:  [ 8,  1, 8,  31 ],
49       9:  [ 9,  1, 9,  30 ],
50       10: [ 10, 1, 10, 31 ],
51       11: [ 11, 1, 11, 30 ],
52       12: [ 12, 1, 12, 31 ],
53       13: [  1, 1, 12, 31 ],
54       'A': [ 1,  1, 3,  31 ],
55       'B': [ 4,  1, 6,  30 ],
56       'C': [ 7,  1, 9,  30 ],
57       'D': [ 10, 1, 12, 31 ]
58     }[duetyp];
59
60     $(`#${ ns.current_id }_from_date`).val(kivi.format_date(new Date(year, date[0]-1, date[1])));
61     $(`#${ ns.current_id }_to_date`).val(kivi.format_date(new Date(year, date[2]-1, date[3])));
62   }
63 });