|
16 | 16 | priority: 1, |
17 | 17 | link: { |
18 | 18 | post: function postLink(scope, element, attrs, controller) { |
19 | | - // scope['dataReference'] = $(element); |
20 | | - element.addClass('form-control'); |
21 | | - var tmp = JSON.parse(attrs.field); |
22 | | - var singleDatePicker = true; |
23 | | - if (typeof tmp.filter == 'object' && tmp.filter.range === true && tmp.filter._edit === true) { |
24 | | - singleDatePicker = false; |
| 19 | + try { |
| 20 | + element.addClass('form-control'); |
| 21 | + var tmp = JSON.parse(attrs.field); |
| 22 | + var singleDatePicker = true; |
| 23 | + if (typeof tmp.filter == 'object' && tmp.filter.range === true && tmp.filter._edit === true) { |
| 24 | + singleDatePicker = false; |
| 25 | + } |
| 26 | + var startDate = moment().startOf('month'); |
| 27 | + var endDate = moment(); |
| 28 | + // tudo e muito feio daqui para baixo |
| 29 | + var _date = !singleDatePicker ? '{date: {startDate: ' + startDate + ', endDate: ' + endDate + ' }, ' : '{'; |
| 30 | + var options = |
| 31 | + _date + |
| 32 | + ' minYear: 1901,' + |
| 33 | + " maxYear: parseInt(moment().format('YYYY'), 10)," + |
| 34 | + " applyButtonClasses: 'btn-primary'," + |
| 35 | + " cancelButtonClasses: 'btn-default'," + |
| 36 | + ' showDropdowns: false,' + |
| 37 | + ' singleDatePicker:' + |
| 38 | + singleDatePicker + |
| 39 | + ',' + |
| 40 | + ' locale: {' + |
| 41 | + " format: 'DD/MM/YYYY'," + |
| 42 | + " separator: ' - '," + |
| 43 | + " applyLabel: 'Aplicar'," + |
| 44 | + " cancelLabel: 'Cancelar'," + |
| 45 | + " daysOfWeek: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']," + |
| 46 | + " monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']," + |
| 47 | + ' },' + |
| 48 | + ' }'; |
| 49 | + if (!singleDatePicker) { |
| 50 | + element.attr('placeholder', 'DD/MM/YYYY - DD/MM/YYYY'); |
| 51 | + } else { |
| 52 | + element.attr('placeholder', 'DD/MM/YYYY'); |
| 53 | + } |
| 54 | + element.attr('options', options.toString()); |
| 55 | + element.removeAttr('new-date-picker'); |
| 56 | + } catch (error) { |
| 57 | + console.error(error); |
25 | 58 | } |
26 | | - var startDate = moment().startOf('month'); |
27 | | - var endDate = moment(); |
28 | | - var _date = !singleDatePicker ? '{date: {startDate: ' + startDate + ', endDate: ' + endDate + ' }, ' : '{'; |
29 | | - var options = |
30 | | - _date + |
31 | | - ' minYear: 1901,' + |
32 | | - " maxYear: parseInt(moment().format('YYYY'), 10)," + |
33 | | - " applyButtonClasses: 'btn-primary'," + |
34 | | - " cancelButtonClasses: 'btn-default'," + |
35 | | - ' showDropdowns: false,' + |
36 | | - ' singleDatePicker:' + |
37 | | - singleDatePicker + |
38 | | - ',' + |
39 | | - ' locale: {' + |
40 | | - " format: 'DD/MM/YYYY'," + |
41 | | - " separator: ' - '," + |
42 | | - " applyLabel: 'Aplicar'," + |
43 | | - " cancelLabel: 'Cancelar'," + |
44 | | - " daysOfWeek: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb']," + |
45 | | - " monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']," + |
46 | | - ' },' + |
47 | | - ' }'; |
48 | | - element.attr('options', options.toString()); |
49 | | - element.removeAttr('new-date-picker'); |
50 | | - |
51 | | - element.on('apply.daterangepicker', function ($event, picker) { |
52 | | - console.log(picker); |
53 | | - }); |
54 | | - |
55 | | - // element.on('cancel.daterangepicker', function ($event, picker) { |
56 | | - // picker.setStartDate(null); |
57 | | - // picker.setEndDate(null); |
58 | | - // }); |
59 | | - |
60 | 59 | element.on('show.daterangepicker', function ($event, picker) { |
| 60 | + // foi necessario para inicia com algum valor quando for filtro. caso nao seja singleDatePicker |
61 | 61 | if (!singleDatePicker) { |
62 | | - console.log(picker); |
63 | 62 | picker.setStartDate(startDate); |
64 | 63 | picker.setEndDate(endDate); |
65 | 64 | } |
66 | 65 | }); |
67 | | - |
68 | | - // console.log({attrs: attrs, controller: controller, scope: scope, element: element, optiondg: options.toString()}, tmp); |
69 | | - // console.log(scope, element); |
70 | | - |
71 | 66 | $compile(element)(scope); |
72 | 67 | }, |
73 | 68 | }, |
|
0 commit comments