Skip to content

Commit 42cf06c

Browse files
committed
feat(4665) init olddate
1 parent d4a99c0 commit 42cf06c

File tree

4 files changed

+85
-56
lines changed

4 files changed

+85
-56
lines changed

dist/lets.min.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/directives/crud/lets-crud-filter.directive.js

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,22 @@
5454
],
5555
'select': true,
5656
};
57+
} else if (field.type == 'olddate') {
58+
if (typeof field.filter == 'object' && field.filter.range === true) {
59+
// console.log({field: field, scope: scope});
60+
var _ini = angular.copy(field);
61+
_ini.name += '_ini';
62+
_ini.label += ' (Início)';
63+
scope.fieldsFilter.push(_ini);
64+
65+
var _fim = angular.copy(field);
66+
_fim.name += '_fim';
67+
// Não mudar para "fim", ordenação está por ordem alfabética do label !
68+
_fim.label += ' (Término)';
69+
scope.fieldsFilter.push(_fim);
70+
71+
return;
72+
}
5773
} else if (field.type == 'date') {
5874
field.filter['_edit'] = true;
5975
if (typeof field.filter == 'object' && field.filter.range === true) {
@@ -230,8 +246,8 @@
230246
if (field.type == 'date') {
231247
values.ini = scope.data[field.name].startDate;
232248
values.fim = scope.data[field.name].endDate;
233-
console.log('showBuscaValue', values);
234-
console.log('showBuscascope', scope);
249+
// console.log('showBuscaValue', values);
250+
// console.log('showBuscascope', scope);
235251

236252
values.ini = scope.getDateFormated(values.ini);
237253
values.fim = scope.getDateFormated(values.fim);
@@ -241,23 +257,42 @@
241257
delete filterData[field.name];
242258
filterData[field.name] = values;
243259

244-
console.log({values: values}, filterData);
260+
// console.log({values: values}, filterData);
245261
// filterData[field.name] = values;
246262
}
263+
} else if (field.type == 'olddate') {
264+
if (scope.data[field.name + '_ini']) {
265+
values.ini = scope.data[field.name + '_ini'];
266+
if (field.type == 'date') {
267+
values.ini = scope.getDateFormated(values.ini);
268+
}
269+
}
270+
271+
if (scope.data[field.name + '_fim']) {
272+
values.fim = scope.data[field.name + '_fim'];
273+
if (field.type == 'date') {
274+
values.fim = scope.getDateFormated(values.fim);
275+
}
276+
}
277+
278+
if (Object.keys(values).length > 0) {
279+
filterData[field.name] = values;
280+
}
247281
}
248282
}
249283
} else if (scope.data[field.name]) {
284+
filterData[field.name] = scope.data[field.name];
250285
if (field.customOptions && field.customOptions.telefone) {
251286
filterData[field.name] = scope.data[field.name].replace(/\D/g, '');
287+
} else if (field.type == 'olddate') {
288+
filterData[field.name] = scope.getDateFormated(filterData[field.name]);
252289
} else if (field.type == 'date' && field.filter && field.filter.range != true) {
253290
// console.log({field: field});
254291
filterData[field.name] = scope.getDateFormated(filterData[field.name]);
255292
} else if (field.autocomplete && !field.customOptions.multiselect) {
256293
filterData[field.name + '_label'] = scope.data[field.name + '.label'].label;
257294
} else if (field.autocomplete && field.customOptions.multiselect) {
258295
filterData[field.name] = scope.data[field.name];
259-
} else {
260-
filterData[field.name] = scope.data[field.name];
261296
}
262297
}
263298
});

src/directives/framework/lets-fw-datepicker-new.directive.js

Lines changed: 40 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -16,58 +16,53 @@
1616
priority: 1,
1717
link: {
1818
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);
2558
}
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-
6059
element.on('show.daterangepicker', function ($event, picker) {
60+
// foi necessario para inicia com algum valor quando for filtro. caso nao seja singleDatePicker
6161
if (!singleDatePicker) {
62-
console.log(picker);
6362
picker.setStartDate(startDate);
6463
picker.setEndDate(endDate);
6564
}
6665
});
67-
68-
// console.log({attrs: attrs, controller: controller, scope: scope, element: element, optiondg: options.toString()}, tmp);
69-
// console.log(scope, element);
70-
7166
$compile(element)(scope);
7267
},
7368
},

src/views/framework/input.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
</div>
157157

158158
<!-- Date -->
159-
<div ng-if="field.type == 'datenew'">
159+
<div ng-if="field.type == 'olddate'">
160160
<input
161161
ng-model-options="{fieldInfo: field, allowInvalid: true}"
162162
type="text"
@@ -168,7 +168,6 @@
168168
ng-model="$parent.data[field.name]"
169169
class="form-control"
170170
data-date-format="DD/MM/YYYY"
171-
placeholder="DD/MM/YYYY"
172171
ng-disabled="field.disabled"
173172
autocomplete="off"
174173
/>

0 commit comments

Comments
 (0)