@osimatic/helpers-js 1.0.23 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/helpers-js.iml +8 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/changelog.txt +5 -0
- package/form_date.js +327 -205
- package/form_helper.js +16 -11
- package/index.js +2 -2
- package/media.js +11 -6
- package/number.js +0 -66
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="WEB_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager">
|
|
4
|
+
<content url="file://$MODULE_DIR$" />
|
|
5
|
+
<orderEntry type="inheritedJdk" />
|
|
6
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
7
|
+
</component>
|
|
8
|
+
</module>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/helpers-js.iml" filepath="$PROJECT_DIR$/.idea/helpers-js.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
package/.idea/vcs.xml
ADDED
package/changelog.txt
CHANGED
|
@@ -26,3 +26,8 @@ getValuesByKeyInArrayOfArrays(array, ...) -> array.getValuesByKeyInArrayOfArrays
|
|
|
26
26
|
hasGetUserMedia() -> non remplacé
|
|
27
27
|
|
|
28
28
|
paginationAsList(...) -> Pagination.paginate(...)
|
|
29
|
+
|
|
30
|
+
getDateObjectSelected(lien) -> getSelectedDate(lien.closest('.form-group')
|
|
31
|
+
selectFormDate(lien) -> setSelectedDate(lien.closest('.form-group')
|
|
32
|
+
majSelectPeriode() / majSelectCompare() -> updatePeriodSelect(form)
|
|
33
|
+
|
package/form_date.js
CHANGED
|
@@ -1,28 +1,299 @@
|
|
|
1
|
-
|
|
1
|
+
const {Object} = require('./index');
|
|
2
|
+
|
|
3
|
+
class FormDate {
|
|
4
|
+
static initForm(form) {
|
|
5
|
+
// ---------- Choix période (new) ----------
|
|
6
|
+
|
|
7
|
+
// Formulaire de sélection de période
|
|
8
|
+
if (form.find('select.periode').length > 0) {
|
|
9
|
+
form.find('select.periode').change(function() {
|
|
10
|
+
FormDate.updatePeriodSelect($(this).closest('form'));
|
|
11
|
+
});
|
|
12
|
+
FormDate.updatePeriodSelect($(this).closest('form'));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
// ---------- Choix période (old) ----------
|
|
17
|
+
|
|
18
|
+
if (form.find('select.day').length > 0 && form.find('select.month').length > 0 && form.find('select.year').length > 0) {
|
|
19
|
+
form.find('select.year').after(
|
|
20
|
+
'<br/>'+
|
|
21
|
+
'<p class="select_date_fastly">'+
|
|
22
|
+
' <a href="#" class="lien_form_today">Auj.</a> - '+
|
|
23
|
+
' <a href="#" class="lien_form_yesterday">Hier</a> - '+
|
|
24
|
+
' <a href="#" class="lien_form_current_month">Ce mois-ci</a> - '+
|
|
25
|
+
' <a href="#" class="lien_form_last_month">Le mois dernier</a> - '+
|
|
26
|
+
' <a href="#" class="lien_form_current_year">Cette année</a>'+
|
|
27
|
+
' - '+
|
|
28
|
+
' <a href="#" class="lien_form_date_prev_day">Jour précédent</a>'+
|
|
29
|
+
' - '+
|
|
30
|
+
' <a href="#" class="lien_form_date_next_day">Jour suivant</a>'+
|
|
31
|
+
'</p>'
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
else if (form.find('select.month').length > 0 && form.find('select.year').length > 0) {
|
|
35
|
+
form.find('select.year').after(
|
|
36
|
+
'<br/>'+
|
|
37
|
+
'<p class="select_date_fastly">'+
|
|
38
|
+
' <a href="#" class="lien_form_current_month">Ce mois-ci</a> - '+
|
|
39
|
+
' <a href="#" class="lien_form_last_month">Le mois dernier</a> - '+
|
|
40
|
+
' <a href="#" class="lien_form_current_year">Cette année</a>'+
|
|
41
|
+
'</p>'
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (form.find('select.dayCompare').length > 0 && form.find('select.monthCompare').length > 0 && form.find('select.yearCompare').length > 0) {
|
|
46
|
+
form.find('select.yearCompare').after(
|
|
47
|
+
'<br/>'+
|
|
48
|
+
'<p class="select_date_fastly">'+
|
|
49
|
+
' <a href="#" class="lien_form_yesterday">Hier</a> - '+
|
|
50
|
+
' <a href="#" class="lien_form_day_moins_7">J-7</a> - '+
|
|
51
|
+
' <a href="#" class="lien_form_day_moins_8">J-8</a> - '+
|
|
52
|
+
' <a href="#" class="lien_form_last_month">Le mois dernier</a> - '+
|
|
53
|
+
' <a href="#" class="lien_form_month_moins_2">Mois M-2</a> - '+
|
|
54
|
+
' <a href="#" class="lien_form_last_year">L\'année dernière</a>'+
|
|
55
|
+
'</p>'
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Lien de sélection de date
|
|
60
|
+
|
|
61
|
+
if (form.find('a.lien_form_today').length > 0) {
|
|
62
|
+
form.find('a.lien_form_today').click(function() {
|
|
63
|
+
FormDate.setTodaySelected($(this).closest('.form-group'));
|
|
64
|
+
return false;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
if (form.find('a.lien_form_yesterday').length > 0) {
|
|
68
|
+
form.find('a.lien_form_yesterday').click(function() {
|
|
69
|
+
FormDate.addNbDaysToToday($(this).closest('.form-group'), -1);
|
|
70
|
+
return false;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (form.find('a.lien_form_day_moins_7').length > 0) {
|
|
74
|
+
form.find('a.lien_form_day_moins_7').click(function() {
|
|
75
|
+
FormDate.addNbDaysToToday($(this).closest('.form-group'), -7);
|
|
76
|
+
return false;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
if (form.find('a.lien_form_day_moins_8').length > 0) {
|
|
80
|
+
form.find('a.lien_form_day_moins_8').click(function() {
|
|
81
|
+
FormDate.addNbDaysToToday($(this).closest('.form-group'), -8);
|
|
82
|
+
return false;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (form.find('a.lien_form_current_month').length > 0) {
|
|
87
|
+
form.find('a.lien_form_current_month').click(function() {
|
|
88
|
+
FormDate.setCurrentMonthSelected($(this).closest('.form-group'));
|
|
89
|
+
return false;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (form.find('a.lien_form_last_month').length > 0) {
|
|
93
|
+
form.find('a.lien_form_last_month').click(function() {
|
|
94
|
+
FormDate.addNbMonthsToToday($(this).closest('.form-group'), -1);
|
|
95
|
+
return false;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (form.find('a.lien_form_month_moins_2').length > 0) {
|
|
99
|
+
form.find('a.lien_form_month_moins_2').click(function() {
|
|
100
|
+
FormDate.addNbMonthsToToday($(this).closest('.form-group'), -2);
|
|
101
|
+
return false;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (form.find('a.lien_form_current_year').length > 0) {
|
|
106
|
+
form.find('a.lien_form_current_year').click(function() {
|
|
107
|
+
FormDate.setCurrentYearSelected($(this).closest('.form-group'));
|
|
108
|
+
return false;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (form.find('a.lien_form_last_year').length > 0) {
|
|
112
|
+
form.find('a.lien_form_last_year').click(function() {
|
|
113
|
+
FormDate.addNbYearsToToday($(this).closest('.form-group'), -1);
|
|
114
|
+
return false;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (form.find('a.lien_form_date_prev_day').length > 0) {
|
|
119
|
+
form.find('a.lien_form_date_prev_day').click(function() {
|
|
120
|
+
FormDate.addNbDaysToSelectedDate($(this).closest('.form-group'), -1);
|
|
121
|
+
return false;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (form.find('a.lien_form_date_next_day').length > 0) {
|
|
125
|
+
form.find('a.lien_form_date_next_day').click(function() {
|
|
126
|
+
FormDate.addNbDaysToSelectedDate($(this).closest('.form-group'), 1);
|
|
127
|
+
return false;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
//if ($('form select[name=select_date_fastly]').length > 0) {
|
|
132
|
+
// $('form select[name=select_date_fastly]').change(function() {
|
|
133
|
+
// valueOptionSelected = $('form select[name=select_date_fastly] option:selected').attr('value');
|
|
134
|
+
// if (valueOptionSelected == 'today') {
|
|
135
|
+
// selectFormDateToday();
|
|
136
|
+
// }
|
|
137
|
+
// else if (valueOptionSelected == 'current_month') {
|
|
138
|
+
// selectFormDateCurrentMonth();
|
|
139
|
+
// }
|
|
140
|
+
// });
|
|
141
|
+
//}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
static updatePeriodSelect(form) {
|
|
145
|
+
function updateSelect(select) {
|
|
146
|
+
if (select.val() === 'perso') {
|
|
147
|
+
select.parent().parent().next().removeClass('hide');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
select.parent().parent().next().addClass('hide');
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
let periodSelect = form.find('select.period');
|
|
155
|
+
if (periodSelect.length === 0) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
updateSelect(periodSelect);
|
|
160
|
+
|
|
161
|
+
let comparedPeriodSelect = form.find('select.compared_period');
|
|
162
|
+
if (comparedPeriodSelect.length === 0) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
let listValues = [];
|
|
167
|
+
let valueDefault = null;
|
|
168
|
+
|
|
169
|
+
comparedPeriodSelect.find('option').attr('disabled', false);
|
|
170
|
+
|
|
171
|
+
let listePeriodeCompare = typeof listePeriodeCompare != 'undefined' ? listePeriodeCompare : {};
|
|
172
|
+
listePeriodeCompare.forEach(([idx, tabListPeriode]) => {
|
|
173
|
+
if (idx != 0) {
|
|
174
|
+
let listKeyPeriode = Object.entries(tabListPeriode['list']).map(([key, value]) => key);
|
|
175
|
+
if (listKeyPeriode.indexOf(periodSelect.val()) !== -1) {
|
|
176
|
+
listValues = listKeyPeriode;
|
|
177
|
+
valueDefault = listKeyPeriode[1];
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
comparedPeriodSelect.find('option[value="' + listKeyPeriode[0] + '"]').parent().children().attr('disabled', true);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
if (periodSelect.val() === 'perso') {
|
|
186
|
+
valueDefault = 'perso';
|
|
187
|
+
}
|
|
188
|
+
else if (comparedPeriodSelect.val() !== 'perso' && listValues.indexOf(comparedPeriodSelect.val()) !== -1) {
|
|
189
|
+
valueDefault = comparedPeriodSelect.val();
|
|
190
|
+
}
|
|
191
|
+
comparedPeriodSelect.val(valueDefault);
|
|
192
|
+
|
|
193
|
+
updateSelect(comparedPeriodSelect);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
static setTodaySelected(periodFormGroup) {
|
|
197
|
+
let date = new Date();
|
|
198
|
+
FormDate.setSelectedDate(periodFormGroup, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
199
|
+
}
|
|
200
|
+
static setCurrentMonthSelected(periodFormGroup) {
|
|
201
|
+
let date = new Date();
|
|
202
|
+
FormDate.setSelectedDate(periodFormGroup, -1, (date.getMonth() + 1), date.getFullYear());
|
|
203
|
+
}
|
|
204
|
+
static setCurrentYearSelected(periodFormGroup) {
|
|
205
|
+
let today = new Date();
|
|
206
|
+
FormDate.setSelectedDate(periodFormGroup, -1, -1, today.getFullYear());
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
static addNbDaysToToday(periodFormGroup, nbDays) {
|
|
210
|
+
FormDate.addNbDaysToSelectedDate(periodFormGroup, nbDays, false);
|
|
211
|
+
}
|
|
212
|
+
static addNbMonthsToToday(periodFormGroup, nbMonths) {
|
|
213
|
+
FormDate.addNbMonthsToSelectedDate(periodFormGroup, nbMonths, false);
|
|
214
|
+
}
|
|
215
|
+
static addNbYearsToToday(periodFormGroup, nbYears) {
|
|
216
|
+
FormDate.addNbYearsToSelectedDate(periodFormGroup, nbYears, false);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
static addNbDaysToSelectedDate(periodFormGroup, nbDays, fromSelectedDate) {
|
|
220
|
+
let date = typeof fromSelectedDate == 'undefined' || fromSelectedDate ? FormDate.getSelectedDate(periodFormGroup) : new Date();
|
|
221
|
+
date.setDate(date.getDate() + nbDays);
|
|
222
|
+
FormDate.setSelectedDate(periodFormGroup, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
223
|
+
}
|
|
224
|
+
static addNbMonthsToSelectedDate(periodFormGroup, nbMonths, fromSelectedDate) {
|
|
225
|
+
let date = typeof fromSelectedDate == 'undefined' || fromSelectedDate ? FormDate.getSelectedDate(periodFormGroup) : new Date();
|
|
226
|
+
date.setDate(1);
|
|
227
|
+
date.setMonth(date.getMonth() - nbMonths);
|
|
228
|
+
FormDate.setSelectedDate(periodFormGroup, -1, (date.getMonth() + 1), date.getFullYear());
|
|
229
|
+
}
|
|
230
|
+
static addNbYearsToSelectedDate(periodFormGroup, nbYears, fromSelectedDate) {
|
|
231
|
+
let date = typeof fromSelectedDate == 'undefined' || fromSelectedDate ? FormDate.getSelectedDate(periodFormGroup) : new Date();
|
|
232
|
+
FormDate.setSelectedDate(periodFormGroup, -1, -1, date.getFullYear() - nbYears);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
static getSelectedDate(periodFormGroup) {
|
|
236
|
+
let day = periodFormGroup.find('select.day').val();
|
|
237
|
+
let month = periodFormGroup.find('select.month').val();
|
|
238
|
+
let year = periodFormGroup.find('select.year').val();
|
|
239
|
+
if (null != day && null != month && null != year) {
|
|
240
|
+
return new Date(year, month - 1, day);
|
|
241
|
+
}
|
|
242
|
+
return new Date();
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
static setSelectedDate(periodFormGroup, day, month, year) {
|
|
246
|
+
periodFormGroup.find('select.day').val(day);
|
|
247
|
+
periodFormGroup.find('select.month').val(month);
|
|
248
|
+
periodFormGroup.find('select.year').val(year);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
// deprecated
|
|
269
|
+
|
|
270
|
+
/** @deprecated */
|
|
2
271
|
static majSelectPeriode(select) {
|
|
3
|
-
if (select.find(':selected').attr('value')
|
|
272
|
+
if (select.find(':selected').attr('value') === 'perso') {
|
|
4
273
|
select.parent().parent().next().removeClass('hide');
|
|
5
274
|
}
|
|
6
275
|
else {
|
|
7
276
|
select.parent().parent().next().addClass('hide');
|
|
8
277
|
}
|
|
9
278
|
}
|
|
10
|
-
|
|
279
|
+
|
|
280
|
+
/** @deprecated */
|
|
11
281
|
static majSelectCompare() {
|
|
12
|
-
if ($('form select#periodeCompare').length
|
|
282
|
+
if ($('form select#periodeCompare').length === 0) {
|
|
13
283
|
return;
|
|
14
284
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
periodeSelected = $('form select.periode :selected').attr('value');
|
|
18
|
-
selectCompare = $('form select#periodeCompare');
|
|
19
|
-
periodeCompareSelected = selectCompare.find(':selected').attr('value');
|
|
20
|
-
|
|
285
|
+
|
|
286
|
+
let listValues = [];
|
|
287
|
+
let periodeSelected = $('form select.periode :selected').attr('value');
|
|
288
|
+
let selectCompare = $('form select#periodeCompare');
|
|
289
|
+
let periodeCompareSelected = selectCompare.find(':selected').attr('value');
|
|
290
|
+
let valueDefault = null;
|
|
291
|
+
|
|
21
292
|
selectCompare.find('option').removeAttr('disabled');
|
|
22
|
-
|
|
293
|
+
|
|
23
294
|
$.each(listePeriodeCompare, function (idx, tabListPeriode) {
|
|
24
295
|
if (idx != 0) {
|
|
25
|
-
listKeyPeriode = array_keys(tabListPeriode.list);
|
|
296
|
+
let listKeyPeriode = array_keys(tabListPeriode.list);
|
|
26
297
|
if (in_array(periodeSelected, listKeyPeriode)) {
|
|
27
298
|
listValues = listKeyPeriode;
|
|
28
299
|
valueDefault = listKeyPeriode[1];
|
|
@@ -32,234 +303,85 @@
|
|
|
32
303
|
}
|
|
33
304
|
}
|
|
34
305
|
});
|
|
35
|
-
|
|
36
|
-
if (periodeSelected
|
|
306
|
+
|
|
307
|
+
if (periodeSelected === 'perso') {
|
|
37
308
|
valueDefault = 'perso';
|
|
38
309
|
}
|
|
39
|
-
else if (periodeCompareSelected
|
|
310
|
+
else if (periodeCompareSelected !== 'perso' && in_array(periodeCompareSelected, listValues)) {
|
|
40
311
|
valueDefault = periodeCompareSelected;
|
|
41
312
|
}
|
|
42
313
|
selectCompare.find('option[value="' + valueDefault + '"]').attr('selected', 'selected');
|
|
43
|
-
|
|
44
|
-
majSelectPeriode(selectCompare);
|
|
314
|
+
|
|
315
|
+
FormDate.majSelectPeriode(selectCompare);
|
|
45
316
|
}
|
|
46
|
-
|
|
317
|
+
|
|
318
|
+
/** @deprecated */
|
|
47
319
|
static selectFormDateToday(lien) {
|
|
48
|
-
date = new Date();
|
|
49
|
-
selectFormDate(lien, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
320
|
+
let date = new Date();
|
|
321
|
+
FormDate.selectFormDate(lien, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
50
322
|
}
|
|
51
|
-
|
|
323
|
+
|
|
324
|
+
/** @deprecated */
|
|
52
325
|
static selectFormDateDayMoinsNb(lien, nbJoursMoins) {
|
|
53
|
-
date = new Date();
|
|
326
|
+
let date = new Date();
|
|
54
327
|
date.setDate(date.getDate() - nbJoursMoins);
|
|
55
|
-
selectFormDate(lien, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
328
|
+
FormDate.selectFormDate(lien, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
56
329
|
}
|
|
57
|
-
|
|
330
|
+
|
|
331
|
+
/** @deprecated */
|
|
58
332
|
static selectFormDateCurrentMonth(lien) {
|
|
59
|
-
date = new Date();
|
|
60
|
-
selectFormDate(lien, -1, (date.getMonth() + 1), date.getFullYear());
|
|
333
|
+
let date = new Date();
|
|
334
|
+
FormDate.selectFormDate(lien, -1, (date.getMonth() + 1), date.getFullYear());
|
|
61
335
|
}
|
|
62
|
-
|
|
336
|
+
|
|
337
|
+
/** @deprecated */
|
|
63
338
|
static selectFormDateMonthMoinsNb(lien, nbMoisMoins) {
|
|
64
|
-
date = new Date();
|
|
339
|
+
let date = new Date();
|
|
65
340
|
date.setDate(1);
|
|
66
341
|
date.setMonth(date.getMonth() - nbMoisMoins);
|
|
67
|
-
selectFormDate(lien, -1, (date.getMonth() + 1), date.getFullYear());
|
|
342
|
+
FormDate.selectFormDate(lien, -1, (date.getMonth() + 1), date.getFullYear());
|
|
68
343
|
}
|
|
69
|
-
|
|
344
|
+
|
|
345
|
+
/** @deprecated */
|
|
70
346
|
static selectFormDateCurrentYear(lien) {
|
|
71
|
-
today = new Date();
|
|
72
|
-
selectFormDate(lien, -1, -1, today.getFullYear());
|
|
347
|
+
let today = new Date();
|
|
348
|
+
FormDate.selectFormDate(lien, -1, -1, today.getFullYear());
|
|
73
349
|
}
|
|
74
|
-
|
|
350
|
+
|
|
351
|
+
/** @deprecated */
|
|
75
352
|
static selectFormDateYearMoinsNb(lien, nbAnneesMoins) {
|
|
76
|
-
today = new Date();
|
|
77
|
-
selectFormDate(lien, -1, -1, today.getFullYear() - nbAnneesMoins);
|
|
353
|
+
let today = new Date();
|
|
354
|
+
FormDate.selectFormDate(lien, -1, -1, today.getFullYear() - nbAnneesMoins);
|
|
78
355
|
}
|
|
79
|
-
|
|
356
|
+
|
|
357
|
+
/** @deprecated */
|
|
80
358
|
static selectFormDateAddDayFromSelectedDay(lien, nbDaysAdded) {
|
|
81
|
-
date = getDateObjectSelected(lien);
|
|
359
|
+
let date = FormDate.getDateObjectSelected(lien);
|
|
82
360
|
date.setDate(date.getDate() + nbDaysAdded);
|
|
83
|
-
selectFormDate(lien, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
361
|
+
FormDate.selectFormDate(lien, date.getDate(), (date.getMonth() + 1), date.getFullYear());
|
|
84
362
|
}
|
|
85
|
-
|
|
363
|
+
|
|
364
|
+
/** @deprecated */
|
|
86
365
|
static getDateObjectSelected(lien) {
|
|
87
|
-
selectorDay = '#' + (lien.parent().prev().prev().prev().prev().attr('id')) + ' option:selected';
|
|
88
|
-
selectorMonth = '#' + (lien.parent().prev().prev().prev().attr('id')) + ' option:selected';
|
|
89
|
-
selectorYear = '#' + (lien.parent().prev().prev().attr('id')) + ' option:selected';
|
|
366
|
+
let selectorDay = '#' + (lien.parent().prev().prev().prev().prev().attr('id')) + ' option:selected';
|
|
367
|
+
let selectorMonth = '#' + (lien.parent().prev().prev().prev().attr('id')) + ' option:selected';
|
|
368
|
+
let selectorYear = '#' + (lien.parent().prev().prev().attr('id')) + ' option:selected';
|
|
90
369
|
if ($(selectorDay).length > 0 && $(selectorMonth).length > 0 && $(selectorYear).length > 0) {
|
|
91
370
|
return new Date($(selectorYear).attr('value'), $(selectorMonth).attr('value') - 1, $(selectorDay).attr('value'));
|
|
92
371
|
}
|
|
93
372
|
return new Date();
|
|
94
373
|
}
|
|
95
|
-
|
|
374
|
+
|
|
375
|
+
/** @deprecated */
|
|
96
376
|
static selectFormDate(lien, day, month, year) {
|
|
97
|
-
selectorDay = '#' + (lien.parent().prev().prev().prev().prev().attr('id')) + ' option[value=' + day + ']';
|
|
98
|
-
selectorMonth = '#' + (lien.parent().prev().prev().prev().attr('id')) + ' option[value=' + month + ']';
|
|
99
|
-
selectorYear = '#' + (lien.parent().prev().prev().attr('id')) + ' option[value=' + year + ']';
|
|
377
|
+
let selectorDay = '#' + (lien.parent().prev().prev().prev().prev().attr('id')) + ' option[value=' + day + ']';
|
|
378
|
+
let selectorMonth = '#' + (lien.parent().prev().prev().prev().attr('id')) + ' option[value=' + month + ']';
|
|
379
|
+
let selectorYear = '#' + (lien.parent().prev().prev().attr('id')) + ' option[value=' + year + ']';
|
|
100
380
|
if ($(selectorDay).length > 0) $(selectorDay).prop('selected', 'selected');
|
|
101
381
|
if ($(selectorMonth).length > 0) $(selectorMonth).prop('selected', 'selected');
|
|
102
382
|
if ($(selectorYear).length > 0) $(selectorYear).prop('selected', 'selected');
|
|
103
383
|
}
|
|
384
|
+
|
|
104
385
|
}
|
|
105
386
|
|
|
106
387
|
module.exports = { FormDate };
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
//A DEPLACER DANS LE PROJET MYTIME
|
|
110
|
-
/*$(function() {
|
|
111
|
-
// ---------- Choix période (new) ----------
|
|
112
|
-
|
|
113
|
-
// Formulaire de sélection de période
|
|
114
|
-
|
|
115
|
-
if ($('form select.periode').length > 0) {
|
|
116
|
-
$('form select.periode').change(function() {
|
|
117
|
-
majSelectPeriode($(this));
|
|
118
|
-
|
|
119
|
-
if ($(this).attr('id') == 'periode') {
|
|
120
|
-
majSelectCompare();
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
majSelectCompare();
|
|
126
|
-
// majSelectPeriode($('form select#periodeCompare'));
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// ---------- Choix période (old) ----------
|
|
130
|
-
|
|
131
|
-
if ($('form #day').length > 0 && $('form #month').length > 0 && $('form #year').length > 0) {
|
|
132
|
-
$('form #year').after(
|
|
133
|
-
'<br/>'+
|
|
134
|
-
'<p class="select_date_fastly">'+
|
|
135
|
-
' <a href="#" class="lien_form_today">Auj.</a> - '+
|
|
136
|
-
' <a href="#" class="lien_form_yesterday">Hier</a> - '+
|
|
137
|
-
' <a href="#" class="lien_form_current_month">Ce mois-ci</a> - '+
|
|
138
|
-
' <a href="#" class="lien_form_last_month">Le mois dernier</a> - '+
|
|
139
|
-
' <a href="#" class="lien_form_current_year">Cette année</a>'+
|
|
140
|
-
' - '+
|
|
141
|
-
' <a href="#" class="lien_form_date_prev_day">Jour précédent</a>'+
|
|
142
|
-
' - '+
|
|
143
|
-
' <a href="#" class="lien_form_date_next_day">Jour suivant</a>'+
|
|
144
|
-
'</p>'+
|
|
145
|
-
''
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
else if ($('form #month').length > 0 && $('form #year').length > 0) {
|
|
149
|
-
$('form #year').after(
|
|
150
|
-
'<br/>'+
|
|
151
|
-
'<p class="select_date_fastly">'+
|
|
152
|
-
' <a href="#" class="lien_form_current_month">Ce mois-ci</a> - '+
|
|
153
|
-
' <a href="#" class="lien_form_last_month">Le mois dernier</a> - '+
|
|
154
|
-
' <a href="#" class="lien_form_current_year">Cette année</a>'+
|
|
155
|
-
'</p>'+
|
|
156
|
-
''
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
if ($('form #dayCompare').length > 0 && $('form #monthCompare').length > 0 && $('form #yearCompare').length > 0) {
|
|
161
|
-
$('form #yearCompare').after(
|
|
162
|
-
'<br/>'+
|
|
163
|
-
'<p class="select_date_fastly">'+
|
|
164
|
-
' <a href="#" class="lien_form_yesterday">Hier</a> - '+
|
|
165
|
-
' <a href="#" class="lien_form_day_moins_7">J-7</a> - '+
|
|
166
|
-
' <a href="#" class="lien_form_day_moins_8">J-8</a> - '+
|
|
167
|
-
' <a href="#" class="lien_form_last_month">Le mois dernier</a> - '+
|
|
168
|
-
' <a href="#" class="lien_form_month_moins_2">Mois M-2</a> - '+
|
|
169
|
-
' <a href="#" class="lien_form_last_year">L\'année dernière</a>'+
|
|
170
|
-
'</p>'+
|
|
171
|
-
''
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Lien de sélection de date
|
|
176
|
-
|
|
177
|
-
if ($('form a.lien_form_today').length > 0) {
|
|
178
|
-
$('form a.lien_form_today').click(function() {
|
|
179
|
-
selectFormDateToday($(this));
|
|
180
|
-
return false;
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if ($('form a.lien_form_yesterday').length > 0) {
|
|
185
|
-
$('form a.lien_form_yesterday').click(function() {
|
|
186
|
-
selectFormDateDayMoinsNb($(this), 1);
|
|
187
|
-
return false;
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
if ($('form a.lien_form_day_moins_7').length > 0) {
|
|
192
|
-
$('form a.lien_form_day_moins_7').click(function() {
|
|
193
|
-
selectFormDateDayMoinsNb($(this), 7);
|
|
194
|
-
return false;
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
if ($('form a.lien_form_day_moins_8').length > 0) {
|
|
199
|
-
$('form a.lien_form_day_moins_8').click(function() {
|
|
200
|
-
selectFormDateDayMoinsNb($(this), 8);
|
|
201
|
-
return false;
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
if ($('form a.lien_form_current_month').length > 0) {
|
|
206
|
-
$('form a.lien_form_current_month').click(function() {
|
|
207
|
-
selectFormDateCurrentMonth($(this));
|
|
208
|
-
return false;
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
if ($('form a.lien_form_last_month').length > 0) {
|
|
213
|
-
$('form a.lien_form_last_month').click(function() {
|
|
214
|
-
selectFormDateMonthMoinsNb($(this), 1);
|
|
215
|
-
return false;
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
if ($('form a.lien_form_month_moins_2').length > 0) {
|
|
220
|
-
$('form a.lien_form_month_moins_2').click(function() {
|
|
221
|
-
selectFormDateMonthMoinsNb($(this), 2);
|
|
222
|
-
return false;
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
if ($('form a.lien_form_current_year').length > 0) {
|
|
227
|
-
$('form a.lien_form_current_year').click(function() {
|
|
228
|
-
selectFormDateCurrentYear($(this));
|
|
229
|
-
return false;
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
if ($('form a.lien_form_last_year').length > 0) {
|
|
234
|
-
$('form a.lien_form_last_year').click(function() {
|
|
235
|
-
selectFormDateYearMoinsNb($(this), 1);
|
|
236
|
-
return false;
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
if ($('form a.lien_form_date_prev_day').length > 0) {
|
|
241
|
-
$('form a.lien_form_date_prev_day').click(function() {
|
|
242
|
-
selectFormDateAddDayFromSelectedDay($(this), -1);
|
|
243
|
-
return false;
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
if ($('form a.lien_form_date_next_day').length > 0) {
|
|
247
|
-
$('form a.lien_form_date_next_day').click(function() {
|
|
248
|
-
selectFormDateAddDayFromSelectedDay($(this), 1);
|
|
249
|
-
return false;
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
//if ($('form select[name=select_date_fastly]').length > 0) {
|
|
254
|
-
// $('form select[name=select_date_fastly]').change(function() {
|
|
255
|
-
// valueOptionSelected = $('form select[name=select_date_fastly] option:selected').attr('value');
|
|
256
|
-
// if (valueOptionSelected == 'today') {
|
|
257
|
-
// selectFormDateToday();
|
|
258
|
-
// }
|
|
259
|
-
// else if (valueOptionSelected == 'current_month') {
|
|
260
|
-
// selectFormDateCurrentMonth();
|
|
261
|
-
// }
|
|
262
|
-
// });
|
|
263
|
-
//}
|
|
264
|
-
|
|
265
|
-
});*/
|
package/form_helper.js
CHANGED
|
@@ -72,7 +72,7 @@ class FormHelper {
|
|
|
72
72
|
|
|
73
73
|
var input = form.find('[name="'+key+'"]');
|
|
74
74
|
|
|
75
|
-
if (input.prop('type')
|
|
75
|
+
if (input.prop('type') === 'radio' || input.prop('type') === 'checkbox') {
|
|
76
76
|
input.prop('checked', false);
|
|
77
77
|
input.filter('[value="'+value+'"]').prop('checked', true);
|
|
78
78
|
return;
|
|
@@ -187,8 +187,8 @@ class FormHelper {
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
static getFormErrorText(errors) {
|
|
190
|
-
|
|
191
|
-
for (
|
|
190
|
+
let errorLabels = '';
|
|
191
|
+
for (let property in errors) {
|
|
192
192
|
if (typeof errors[property] != 'function') {
|
|
193
193
|
errorLabels += '<span>' + errors[property] + '</span><br>';
|
|
194
194
|
}
|
|
@@ -197,8 +197,8 @@ class FormHelper {
|
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
static getFormErrorTextBis(errors) {
|
|
200
|
-
|
|
201
|
-
for (
|
|
200
|
+
let errorLabels = '';
|
|
201
|
+
for (let property in errors) {
|
|
202
202
|
// console.log(property);
|
|
203
203
|
if (typeof errors[property] != 'function') {
|
|
204
204
|
if (typeof errors[property]['error_description'] === 'undefined') {
|
|
@@ -211,8 +211,8 @@ class FormHelper {
|
|
|
211
211
|
return errorLabels;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
static displayFormErrors(form, btnSubmit, errors) {
|
|
215
|
-
this.displayFormErrorsFromText(form, this.getFormErrorTextBis(errors));
|
|
214
|
+
static displayFormErrors(form, btnSubmit, errors, errorWrapperDiv) {
|
|
215
|
+
this.displayFormErrorsFromText(form, this.getFormErrorTextBis(errors), errorWrapperDiv);
|
|
216
216
|
if (btnSubmit != null) {
|
|
217
217
|
if (btnSubmit.buttonLoader != null) {
|
|
218
218
|
btnSubmit.buttonLoader('reset');
|
|
@@ -226,20 +226,25 @@ class FormHelper {
|
|
|
226
226
|
this.displayFormErrors(form, btnSubmit, xhr.responseJSON);
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
static displayFormErrorsFromText(form, errorLabels) {
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
static displayFormErrorsFromText(form, errorLabels, errorWrapperDiv) {
|
|
230
|
+
let errorDiv = '<div class="alert alert-danger form_errors">'+errorLabels+'</div>';
|
|
231
|
+
|
|
232
|
+
if (typeof errorWrapperDiv != 'undefined' && errorWrapperDiv != null) {
|
|
233
|
+
errorWrapperDiv.append(errorDiv);
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
232
236
|
|
|
233
237
|
if (form.find('.form_errors_content').length) {
|
|
234
238
|
form.find('.form_errors_content').append(errorDiv);
|
|
235
239
|
return;
|
|
236
240
|
}
|
|
237
241
|
|
|
242
|
+
let errorsParentDiv = form;
|
|
238
243
|
if (form.find('.modal-body').length) {
|
|
239
244
|
errorsParentDiv = form.find('.modal-body');
|
|
240
245
|
}
|
|
241
246
|
|
|
242
|
-
|
|
247
|
+
let firstFormGroup = errorsParentDiv.find('.form-group:first');
|
|
243
248
|
if (firstFormGroup.length) {
|
|
244
249
|
if (firstFormGroup.parent().parent().hasClass('row')) {
|
|
245
250
|
firstFormGroup.parent().parent().before(errorDiv);
|
package/index.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// rien à exporter (que des extensions d'objet natif)
|
|
5
5
|
require('./string');
|
|
6
6
|
require('./array');
|
|
7
|
+
require('./number');
|
|
7
8
|
|
|
8
9
|
// exports d'ojets non natif
|
|
9
10
|
const { HTTPRequest, Cookie, UrlAndQueryString } = require('./network');
|
|
@@ -40,11 +41,10 @@ const { GoogleMap } = require('./google_maps');
|
|
|
40
41
|
const { OpenStreetMap } = require('./open_street_map');
|
|
41
42
|
|
|
42
43
|
// deprecated
|
|
43
|
-
const { NumberValue } = require('./number');
|
|
44
44
|
|
|
45
45
|
module.exports = {
|
|
46
46
|
Array, Object, Number, String,
|
|
47
|
-
HTTPRequest, Cookie, UrlAndQueryString, IBAN, BankCard, AudioMedia, UserMedia, PersonName, Email, TelephoneNumber, DateTime, TimestampUnix, SqlDate, SqlTime, SqlDateTime, InputPeriod, Duration, File, CSV, Img, FormHelper, Country, PostalAddress, Location, SocialNetwork,
|
|
47
|
+
HTTPRequest, Cookie, UrlAndQueryString, IBAN, BankCard, AudioMedia, UserMedia, PersonName, Email, TelephoneNumber, DateTime, TimestampUnix, SqlDate, SqlTime, SqlDateTime, InputPeriod, Duration, File, CSV, Img, FormHelper, Country, PostalAddress, Location, SocialNetwork, FormDate,
|
|
48
48
|
DataTable, Pagination, Navigation, DetailsSubArray, SelectAll, MultipleActionInTable, ShoppingCart, FlashMessage, CountDown, ImportFromCsv, JwtToken, JwtSession, ListBox,
|
|
49
49
|
sleep, refresh, chr, ord, trim, empty,
|
|
50
50
|
GoogleCharts, GoogleRecaptcha, GoogleMap, OpenStreetMap
|
package/media.js
CHANGED
|
@@ -75,13 +75,23 @@ class AudioMedia {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
//Source : https://www.npmjs.com/package/mic-check
|
|
78
|
-
class UserMedia {
|
|
78
|
+
class UserMedia {
|
|
79
|
+
static hasGetUserMedia() {
|
|
80
|
+
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
|
|
81
|
+
}
|
|
82
|
+
|
|
79
83
|
/** SystemPermissionDenied => (macOS) browser does not have permission to access cam/mic */
|
|
80
84
|
/** UserPermissionDenied => user denied permission for site to access cam/mic */
|
|
81
85
|
/** CouldNotStartVideoSource = > (Windows) browser does not have permission to access cam/mic OR camera is in use by another application or browser tab */
|
|
82
86
|
/** Generic => all other errors */
|
|
83
87
|
|
|
84
88
|
static requestMediaPermissions(constraints) {
|
|
89
|
+
/*try {
|
|
90
|
+
console.log(require.resolve("bowser"));
|
|
91
|
+
} catch(e) {
|
|
92
|
+
return;
|
|
93
|
+
}*/
|
|
94
|
+
|
|
85
95
|
return new Promise((resolve, reject) => {
|
|
86
96
|
const bowser = require('bowser');
|
|
87
97
|
const browser = bowser.getParser(window.navigator.userAgent);
|
|
@@ -146,8 +156,3 @@ class UserMedia {
|
|
|
146
156
|
}
|
|
147
157
|
|
|
148
158
|
module.exports = { AudioMedia, UserMedia };
|
|
149
|
-
|
|
150
|
-
//deprecated
|
|
151
|
-
function hasGetUserMedia() {
|
|
152
|
-
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
|
|
153
|
-
}
|
package/number.js
CHANGED
|
@@ -1,68 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
/** @deprecated */
|
|
3
|
-
class NumberValue {
|
|
4
|
-
/** @deprecated */
|
|
5
|
-
static isNumeric(sText) {
|
|
6
|
-
var ValidChars = "0123456789.";
|
|
7
|
-
var IsNumber=true;
|
|
8
|
-
var Char;
|
|
9
|
-
for (i = 0; i < sText.length && IsNumber == true; i++){
|
|
10
|
-
Char = sText.charAt(i);
|
|
11
|
-
if (ValidChars.indexOf(Char) == -1){
|
|
12
|
-
IsNumber = false;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return IsNumber;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** @deprecated */
|
|
19
|
-
static format(number, nbDecimal, locale) {
|
|
20
|
-
nbDecimal = (typeof nbDecimal != 'undefined'?nbDecimal:2);
|
|
21
|
-
return new Intl.NumberFormat(locale, {
|
|
22
|
-
minimumFractionDigits: nbDecimal,
|
|
23
|
-
maximumFractionDigits: nbDecimal
|
|
24
|
-
}).format(number);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/** @deprecated */
|
|
28
|
-
static formatCurrency(montant, currency, nbDecimal, locale) {
|
|
29
|
-
nbDecimal = (typeof nbDecimal != 'undefined'?nbDecimal:2);
|
|
30
|
-
return new Intl.NumberFormat(locale, {
|
|
31
|
-
style: 'currency',
|
|
32
|
-
currency: currency,
|
|
33
|
-
minimumFractionDigits: nbDecimal,
|
|
34
|
-
maximumFractionDigits: nbDecimal
|
|
35
|
-
}).format(montant);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** @deprecated */
|
|
39
|
-
static formatPercent(number, nbDecimal, locale) {
|
|
40
|
-
nbDecimal = (typeof nbDecimal != 'undefined'?nbDecimal:2);
|
|
41
|
-
return new Intl.NumberFormat(locale, {
|
|
42
|
-
style: 'percent',
|
|
43
|
-
minimumFractionDigits: nbDecimal,
|
|
44
|
-
maximumFractionDigits: nbDecimal
|
|
45
|
-
}).format(number);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/** @deprecated */
|
|
49
|
-
static random(min, max) {
|
|
50
|
-
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** @deprecated */
|
|
54
|
-
static padLeft2(n) {
|
|
55
|
-
return n > 9 ? "" + n: "0" + n;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/** @deprecated */
|
|
59
|
-
static roundDecimal(nombre, precision) {
|
|
60
|
-
precision = precision || 2;
|
|
61
|
-
var tmp = Math.pow(10, precision);
|
|
62
|
-
return Math.round(nombre*tmp) / tmp;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
2
|
Number.prototype.format = Number.prototype.format || function(nbDecimal, locale) {
|
|
67
3
|
nbDecimal = (typeof nbDecimal != 'undefined'?nbDecimal:2);
|
|
68
4
|
return new Intl.NumberFormat(locale, {
|
|
@@ -150,5 +86,3 @@ Number.prototype.formatAsPercent = function(locale, minimumFractionDigits) {
|
|
|
150
86
|
minimumFractionDigits = (typeof minimumFractionDigits != 'undefined'?minimumFractionDigits:0);
|
|
151
87
|
return new Intl.NumberFormat(locale, {style: 'percent', minimumFractionDigits:minimumFractionDigits}).format(this);
|
|
152
88
|
};
|
|
153
|
-
|
|
154
|
-
module.exports = { NumberValue };
|