@osimatic/helpers-js 1.1.77 → 1.2.0
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/CHANGELOG +76 -76
- package/array.js +93 -90
- package/bank.js +20 -20
- package/contact_details.js +198 -194
- package/count_down.js +102 -102
- package/data_table.js +416 -416
- package/date_time.js +592 -592
- package/details_sub_array.js +123 -123
- package/draw.js +52 -52
- package/duration.js +198 -198
- package/event_bus.js +38 -38
- package/file.js +146 -146
- package/flash_message.js +35 -35
- package/form_date.js +610 -610
- package/form_helper.js +692 -411
- package/google_charts.js +347 -347
- package/google_maps.js +169 -169
- package/google_recaptcha.js +87 -87
- package/http_client.js +469 -469
- package/import_from_csv.js +273 -273
- package/index.js +55 -55
- package/jwt.js +288 -288
- package/list_box.js +112 -112
- package/location.js +431 -431
- package/media.js +218 -218
- package/multiple_action_in_table.js +336 -336
- package/network.js +756 -756
- package/number.js +99 -99
- package/open_street_map.js +142 -142
- package/package.json +15 -15
- package/paging.js +278 -278
- package/php.min.js +5 -5
- package/revolut.js +22 -22
- package/select_all.js +121 -121
- package/shopping_cart.js +31 -31
- package/social_network.js +109 -109
- package/sortable_list.js +37 -37
- package/string.js +162 -162
- package/util.js +16 -16
- package/visitor.js +77 -77
- package/web_rtc.js +114 -114
- package/web_socket.js +97 -97
package/CHANGELOG
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
|
|
2
|
-
1.0.9 :
|
|
3
|
-
copierTexte(str) -> str.copyToClipboard()
|
|
4
|
-
truncateString(str, ...) -> str.truncateString(...)
|
|
5
|
-
|
|
6
|
-
NumberValue.isNumeric(str) -> str.isNumeric()
|
|
7
|
-
NumberValue.format(number, nbDecimal, locale) -> number.format(nbDecimal, locale) OU Number.format(number, nbDecimal, locale)
|
|
8
|
-
NumberValue.formatCurrency(montant, currency, nbDecimal, locale) -> montant.formatCurrency(currency, nbDecimal, locale)
|
|
9
|
-
NumberValue.formatPercent(number, nbDecimal, locale) -> number.formatPercent(nbDecimal, locale)
|
|
10
|
-
NumberValue.random(min, max) -> Number.random(min, max)
|
|
11
|
-
NumberValue.padLeft2(n) -> n.padLeft2()
|
|
12
|
-
NumberValue.roundDecimal(nombre, precision) -> nombre.roundDecimal(precision)
|
|
13
|
-
|
|
14
|
-
nombre.formatAsString(locale, minimumFractionDigits) -> nombre.format(nbDecimal, locale)
|
|
15
|
-
montant.formatAsCurrency(locale, currency, nbFractionDigits) -> montant.formatCurrency(currency, nbDecimal, locale)
|
|
16
|
-
number.formatAsPercent(locale, minimumFractionDigits) -> number.formatPercent(nbDecimal, locale)
|
|
17
|
-
|
|
18
|
-
constante COUNTRIES_LIST -> Country.getCountryList()
|
|
19
|
-
activateTab(...) -> Navigation.activateTab(...)
|
|
20
|
-
|
|
21
|
-
renameKeys(...) -> Object.renameKeys(...)
|
|
22
|
-
renameKeysByCallback(...) -> Object.renameKeysByCallback(...)
|
|
23
|
-
getValuesByKeyInArrayOfArrays(...) -> Array.getValuesByKeyInArrayOfArrays(...)
|
|
24
|
-
getValuesByKeyInArrayOfArrays(array, ...) -> array.getValuesByKeyInArrayOfArrays(...)
|
|
25
|
-
|
|
26
|
-
hasGetUserMedia() -> non remplacé
|
|
27
|
-
|
|
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
|
-
|
|
34
|
-
let URL_REFRESH = ... -> HTTPRequest.setRefreshTokenUrl(URL_REFRESH)
|
|
35
|
-
let _httpHeaders = {...} -> HTTPRequest.setHeader(key, value);
|
|
36
|
-
let httpHeaders = {...} -> HTTPRequest.setHeader(key, value);
|
|
37
|
-
remplacer l'utilisation des variables httpHeaders / _httpHeaders par HTTPRequest.getHeaders()
|
|
38
|
-
|
|
39
|
-
FlashMessage.displayRequestFailure(status, exception, modal) -> FlashMessage.displayError(labelErrorOccured, modal)
|
|
40
|
-
FormHelper.logRequestFailure(status, exception) -> HTTPRequest.logJqueryRequestFailure(jqxhr, status, exception) (le log de l'erreur est devenu inutile car fait de base dans la classe HTTPRequest)
|
|
41
|
-
|
|
42
|
-
Location.checkCoordinates(...) -> GeographicCoordinates.check(...) (car Location est déjà défini en javascript natif)
|
|
43
|
-
|
|
44
|
-
FormHelper.getFormErrorTextBis(...) -> FormHelper.getFormErrorText(...)
|
|
45
|
-
FormHelper.displayFormErrorsFromXhr(form, btnSubmit, xhr) -> FormHelper.displayFormErrors(form, btnSubmit, xhr.responseJSON)
|
|
46
|
-
|
|
47
|
-
1.0.35 :
|
|
48
|
-
ajout méthode HTTPRequest.init() (charge le polyfill de fetch)
|
|
49
|
-
|
|
50
|
-
1.0.61
|
|
51
|
-
DataTable.displayErrorFromXhr -> DataTable.displayError
|
|
52
|
-
|
|
53
|
-
1.0.96
|
|
54
|
-
var intlTelInputUtilsPath = 'xxx'; -> TelephoneNumber.setIntlTelInputUtilsPath('xxx');
|
|
55
|
-
|
|
56
|
-
1.0.99
|
|
57
|
-
JwtSession.isSimulationConnexion() -> JwtSession.simulateLogin() (fonctionnement différent)
|
|
58
|
-
JwtSession.cancelSimulationConnexion() -> JwtSession.cancelSimulatedLogin() (fonctionnement différent)
|
|
59
|
-
HTTPRequest -> HTTPClient
|
|
60
|
-
|
|
61
|
-
1.0.106
|
|
62
|
-
UrlAndQueryString.getPath() -> UrlAndQueryString.getHostAndPath()
|
|
63
|
-
|
|
64
|
-
1.1.27
|
|
65
|
-
var serviceCountry = 'XX' -> TelephoneNumber.setLocalCountryCode('XX')
|
|
66
|
-
|
|
67
|
-
1.1.28
|
|
68
|
-
ImportFromCsv.initModal() -> ImportFromCsv.initForm()
|
|
69
|
-
|
|
70
|
-
1.1.44
|
|
71
|
-
Toutes les fonctions des classes SqlTime, SqlDate et SqlDateTime prennent maintenant les dates et heures SQL en UTC. CECI EST TRES IMPORTANT SINON CELA FAUSSE LES DATES/HEURES SELON LES FUSEAUX HORAIRES.
|
|
72
|
-
|
|
73
|
-
1.1.66
|
|
74
|
-
Duration.convertToDurationAsCentieme() -> Duration.convertToDurationAsHundredthOfAnHour()
|
|
75
|
-
|
|
76
|
-
|
|
1
|
+
|
|
2
|
+
1.0.9 :
|
|
3
|
+
copierTexte(str) -> str.copyToClipboard()
|
|
4
|
+
truncateString(str, ...) -> str.truncateString(...)
|
|
5
|
+
|
|
6
|
+
NumberValue.isNumeric(str) -> str.isNumeric()
|
|
7
|
+
NumberValue.format(number, nbDecimal, locale) -> number.format(nbDecimal, locale) OU Number.format(number, nbDecimal, locale)
|
|
8
|
+
NumberValue.formatCurrency(montant, currency, nbDecimal, locale) -> montant.formatCurrency(currency, nbDecimal, locale)
|
|
9
|
+
NumberValue.formatPercent(number, nbDecimal, locale) -> number.formatPercent(nbDecimal, locale)
|
|
10
|
+
NumberValue.random(min, max) -> Number.random(min, max)
|
|
11
|
+
NumberValue.padLeft2(n) -> n.padLeft2()
|
|
12
|
+
NumberValue.roundDecimal(nombre, precision) -> nombre.roundDecimal(precision)
|
|
13
|
+
|
|
14
|
+
nombre.formatAsString(locale, minimumFractionDigits) -> nombre.format(nbDecimal, locale)
|
|
15
|
+
montant.formatAsCurrency(locale, currency, nbFractionDigits) -> montant.formatCurrency(currency, nbDecimal, locale)
|
|
16
|
+
number.formatAsPercent(locale, minimumFractionDigits) -> number.formatPercent(nbDecimal, locale)
|
|
17
|
+
|
|
18
|
+
constante COUNTRIES_LIST -> Country.getCountryList()
|
|
19
|
+
activateTab(...) -> Navigation.activateTab(...)
|
|
20
|
+
|
|
21
|
+
renameKeys(...) -> Object.renameKeys(...)
|
|
22
|
+
renameKeysByCallback(...) -> Object.renameKeysByCallback(...)
|
|
23
|
+
getValuesByKeyInArrayOfArrays(...) -> Array.getValuesByKeyInArrayOfArrays(...)
|
|
24
|
+
getValuesByKeyInArrayOfArrays(array, ...) -> array.getValuesByKeyInArrayOfArrays(...)
|
|
25
|
+
|
|
26
|
+
hasGetUserMedia() -> non remplacé
|
|
27
|
+
|
|
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
|
+
|
|
34
|
+
let URL_REFRESH = ... -> HTTPRequest.setRefreshTokenUrl(URL_REFRESH)
|
|
35
|
+
let _httpHeaders = {...} -> HTTPRequest.setHeader(key, value);
|
|
36
|
+
let httpHeaders = {...} -> HTTPRequest.setHeader(key, value);
|
|
37
|
+
remplacer l'utilisation des variables httpHeaders / _httpHeaders par HTTPRequest.getHeaders()
|
|
38
|
+
|
|
39
|
+
FlashMessage.displayRequestFailure(status, exception, modal) -> FlashMessage.displayError(labelErrorOccured, modal)
|
|
40
|
+
FormHelper.logRequestFailure(status, exception) -> HTTPRequest.logJqueryRequestFailure(jqxhr, status, exception) (le log de l'erreur est devenu inutile car fait de base dans la classe HTTPRequest)
|
|
41
|
+
|
|
42
|
+
Location.checkCoordinates(...) -> GeographicCoordinates.check(...) (car Location est déjà défini en javascript natif)
|
|
43
|
+
|
|
44
|
+
FormHelper.getFormErrorTextBis(...) -> FormHelper.getFormErrorText(...)
|
|
45
|
+
FormHelper.displayFormErrorsFromXhr(form, btnSubmit, xhr) -> FormHelper.displayFormErrors(form, btnSubmit, xhr.responseJSON)
|
|
46
|
+
|
|
47
|
+
1.0.35 :
|
|
48
|
+
ajout méthode HTTPRequest.init() (charge le polyfill de fetch)
|
|
49
|
+
|
|
50
|
+
1.0.61
|
|
51
|
+
DataTable.displayErrorFromXhr -> DataTable.displayError
|
|
52
|
+
|
|
53
|
+
1.0.96
|
|
54
|
+
var intlTelInputUtilsPath = 'xxx'; -> TelephoneNumber.setIntlTelInputUtilsPath('xxx');
|
|
55
|
+
|
|
56
|
+
1.0.99
|
|
57
|
+
JwtSession.isSimulationConnexion() -> JwtSession.simulateLogin() (fonctionnement différent)
|
|
58
|
+
JwtSession.cancelSimulationConnexion() -> JwtSession.cancelSimulatedLogin() (fonctionnement différent)
|
|
59
|
+
HTTPRequest -> HTTPClient
|
|
60
|
+
|
|
61
|
+
1.0.106
|
|
62
|
+
UrlAndQueryString.getPath() -> UrlAndQueryString.getHostAndPath()
|
|
63
|
+
|
|
64
|
+
1.1.27
|
|
65
|
+
var serviceCountry = 'XX' -> TelephoneNumber.setLocalCountryCode('XX')
|
|
66
|
+
|
|
67
|
+
1.1.28
|
|
68
|
+
ImportFromCsv.initModal() -> ImportFromCsv.initForm()
|
|
69
|
+
|
|
70
|
+
1.1.44
|
|
71
|
+
Toutes les fonctions des classes SqlTime, SqlDate et SqlDateTime prennent maintenant les dates et heures SQL en UTC. CECI EST TRES IMPORTANT SINON CELA FAUSSE LES DATES/HEURES SELON LES FUSEAUX HORAIRES.
|
|
72
|
+
|
|
73
|
+
1.1.66
|
|
74
|
+
Duration.convertToDurationAsCentieme() -> Duration.convertToDurationAsHundredthOfAnHour()
|
|
75
|
+
|
|
76
|
+
|
package/array.js
CHANGED
|
@@ -1,90 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
Array.prototype.unset = function(index) {
|
|
3
|
-
if (index > -1) {
|
|
4
|
-
this.splice(index,1);
|
|
5
|
-
}
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
Array.prototype.unsetVal = function(val) {
|
|
9
|
-
let index = this.indexOf(val);
|
|
10
|
-
if (index > -1) {
|
|
11
|
-
this.splice(index, 1);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
Array.prototype.inArray = function(p_val) {
|
|
16
|
-
return this.indexOf(p_val) > -1;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
Array.prototype.unique = function() {
|
|
20
|
-
return [...new Set(this)];
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
Array.prototype.removeEmptyValues = function() {
|
|
24
|
-
return this.filter(val => val != '');
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
Array.prototype.hasOwnIndex = function(prop) {
|
|
28
|
-
return this.hasOwnProperty(prop) && /^0$|^[1-9]\d*$/.test(prop) && prop <= 4294967294; // 2^32 - 2
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
Array.prototype.cumulativeSum = function() {
|
|
32
|
-
let cumulativeSum = (sum => value => sum += value)(0);
|
|
33
|
-
return this.map(cumulativeSum);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
Array.prototype.intersect = function(array1, array2) {
|
|
37
|
-
return array1.filter(value => array2.includes(value));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
Array.prototype.filterUnique = function() {
|
|
41
|
-
//let onlyUnique = (([value, index, self]) => self.indexOf(value) === index);
|
|
42
|
-
return this.filter((v, i, a) => a.indexOf(v) === i);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
Array.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Object.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
1
|
+
|
|
2
|
+
Array.prototype.unset = function(index) {
|
|
3
|
+
if (index > -1) {
|
|
4
|
+
this.splice(index,1);
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
Array.prototype.unsetVal = function(val) {
|
|
9
|
+
let index = this.indexOf(val);
|
|
10
|
+
if (index > -1) {
|
|
11
|
+
this.splice(index, 1);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
Array.prototype.inArray = function(p_val) {
|
|
16
|
+
return this.indexOf(p_val) > -1;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
Array.prototype.unique = function() {
|
|
20
|
+
return [...new Set(this)];
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
Array.prototype.removeEmptyValues = function() {
|
|
24
|
+
return this.filter(val => val != '');
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
Array.prototype.hasOwnIndex = function(prop) {
|
|
28
|
+
return this.hasOwnProperty(prop) && /^0$|^[1-9]\d*$/.test(prop) && prop <= 4294967294; // 2^32 - 2
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
Array.prototype.cumulativeSum = function() {
|
|
32
|
+
let cumulativeSum = (sum => value => sum += value)(0);
|
|
33
|
+
return this.map(cumulativeSum);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
Array.prototype.intersect = function(array1, array2) {
|
|
37
|
+
return array1.filter(value => array2.includes(value));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
Array.prototype.filterUnique = function() {
|
|
41
|
+
//let onlyUnique = (([value, index, self]) => self.indexOf(value) === index);
|
|
42
|
+
return this.filter((v, i, a) => a.indexOf(v) === i);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
Array.generate = ({from = 0, to, step = 1, length = Math.ceil((to - from) / step)}) =>
|
|
46
|
+
Array.from({length}, (_, i) => from + i * step);
|
|
47
|
+
|
|
48
|
+
Array.getValuesByKeyInArrayOfArrays = function(array, key) {
|
|
49
|
+
let listeValues = [];
|
|
50
|
+
for (let i in array) {
|
|
51
|
+
let subArray = array[i];
|
|
52
|
+
if (typeof(subArray[key]) != 'undefined') {
|
|
53
|
+
listeValues.push(subArray[key]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return listeValues;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
Object.toArray = (obj) => {
|
|
60
|
+
return Object.keys(obj).map(key => obj[key]);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
Object.filter = (obj, predicate) => {
|
|
64
|
+
return Object.keys(obj)
|
|
65
|
+
.filter( key => predicate(obj[key]) )
|
|
66
|
+
.reduce( (res, key) => (res[key] = obj[key], res), {} );
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
Object.filterKeys = (obj, predicate) => {
|
|
70
|
+
return Object.keys(obj)
|
|
71
|
+
.filter( key => predicate(key) )
|
|
72
|
+
.reduce( (res, key) => (res[key] = obj[key], res), {} );
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
Object.renameKeys = function(obj, keysMap) {
|
|
76
|
+
return Object.keys(obj).reduce(
|
|
77
|
+
(acc, key) => ({
|
|
78
|
+
...acc,
|
|
79
|
+
...{ [keysMap[key] || key]: obj[key] }
|
|
80
|
+
}),
|
|
81
|
+
{}
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
Object.renameKeysByCallback = function(obj, callback) {
|
|
86
|
+
return Object.keys(obj).reduce(
|
|
87
|
+
(acc, key) => ({
|
|
88
|
+
...acc,
|
|
89
|
+
...{[callback(key)]: obj[key]}
|
|
90
|
+
}),
|
|
91
|
+
{}
|
|
92
|
+
);
|
|
93
|
+
}
|
package/bank.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
class IBAN {
|
|
2
|
-
static format(iban) {
|
|
3
|
-
return iban.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
class BankCard {
|
|
8
|
-
static formatCardNumber(cardNumber) {
|
|
9
|
-
if (cardNumber.length === 16) {
|
|
10
|
-
cardNumber = cardNumber.substring(0, 4)+'-'+cardNumber.substring(4, 8)+'-'+cardNumber.substring(8, 12)+'-'+cardNumber.substring(12, 16);
|
|
11
|
-
cardNumber = cardNumber.replace(/(\*)/gi, 'X');
|
|
12
|
-
}
|
|
13
|
-
return cardNumber;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
static formatExpirationDate(expirationDate, locale="fr-FR") {
|
|
17
|
-
return SqlDateTime.getMonthName(expirationDate, locale)+' '+SqlDateTime.getYear(expirationDate);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
1
|
+
class IBAN {
|
|
2
|
+
static format(iban) {
|
|
3
|
+
return iban.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
class BankCard {
|
|
8
|
+
static formatCardNumber(cardNumber) {
|
|
9
|
+
if (cardNumber.length === 16) {
|
|
10
|
+
cardNumber = cardNumber.substring(0, 4)+'-'+cardNumber.substring(4, 8)+'-'+cardNumber.substring(8, 12)+'-'+cardNumber.substring(12, 16);
|
|
11
|
+
cardNumber = cardNumber.replace(/(\*)/gi, 'X');
|
|
12
|
+
}
|
|
13
|
+
return cardNumber;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static formatExpirationDate(expirationDate, locale="fr-FR") {
|
|
17
|
+
return SqlDateTime.getMonthName(expirationDate, locale)+' '+SqlDateTime.getYear(expirationDate);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
21
|
module.exports = { IBAN, BankCard };
|