@amimpact/willy-utils 1.6.1-beta.2 → 1.8.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/dist/cookie.d.ts +1 -1
- package/dist/cookie.js +10 -7
- package/dist/date.js +19 -14
- package/dist/form.js +6 -5
- package/dist/includes/tinyduration.js +2 -2
- package/dist/misc.d.ts +6 -0
- package/dist/misc.js +25 -15
- package/dist/selectors.js +6 -3
- package/dist/url.js +21 -14
- package/package.json +4 -4
package/dist/cookie.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Create Cookie
|
|
3
3
|
* source: http://www.quirksmode.org/js/cookies.html
|
|
4
4
|
*/
|
|
5
|
-
export declare const createCookie: (name: string, value: string | boolean, days?: number
|
|
5
|
+
export declare const createCookie: (name: string, value: string | boolean, days?: number) => void;
|
|
6
6
|
/**
|
|
7
7
|
* Read Cookie
|
|
8
8
|
* source: http://www.quirksmode.org/js/cookies.html
|
package/dist/cookie.js
CHANGED
|
@@ -5,21 +5,22 @@ exports.eraseCookie = exports.readCookie = exports.createCookie = void 0;
|
|
|
5
5
|
* Create Cookie
|
|
6
6
|
* source: http://www.quirksmode.org/js/cookies.html
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
var createCookie = function (name, value, days) {
|
|
9
9
|
var expires = '';
|
|
10
10
|
if (days) {
|
|
11
11
|
var date = new Date();
|
|
12
12
|
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
|
|
13
|
-
expires = "; expires="
|
|
13
|
+
expires = "; expires=".concat(date.toUTCString());
|
|
14
14
|
}
|
|
15
|
-
document.cookie = name
|
|
15
|
+
document.cookie = "".concat(name, "=").concat(value).concat(expires, "; path=/");
|
|
16
16
|
};
|
|
17
|
+
exports.createCookie = createCookie;
|
|
17
18
|
/**
|
|
18
19
|
* Read Cookie
|
|
19
20
|
* source: http://www.quirksmode.org/js/cookies.html
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
var nameEQ = name
|
|
22
|
+
var readCookie = function (name) {
|
|
23
|
+
var nameEQ = "".concat(name, "=");
|
|
23
24
|
var ca = document.cookie.split(';');
|
|
24
25
|
for (var i = 0; i < ca.length; i++) {
|
|
25
26
|
var c = ca[i];
|
|
@@ -32,10 +33,12 @@ exports.readCookie = function (name) {
|
|
|
32
33
|
}
|
|
33
34
|
return null;
|
|
34
35
|
};
|
|
36
|
+
exports.readCookie = readCookie;
|
|
35
37
|
/**
|
|
36
38
|
* Erase Cookie
|
|
37
39
|
* source: http://www.quirksmode.org/js/cookies.html
|
|
38
40
|
*/
|
|
39
|
-
|
|
40
|
-
exports.createCookie(name, '', -1);
|
|
41
|
+
var eraseCookie = function (name) {
|
|
42
|
+
(0, exports.createCookie)(name, '', -1);
|
|
41
43
|
};
|
|
44
|
+
exports.eraseCookie = eraseCookie;
|
package/dist/date.js
CHANGED
|
@@ -24,7 +24,7 @@ var availableLocales = {
|
|
|
24
24
|
* @param {CraftDate} dateObject
|
|
25
25
|
* @param {FormatCraftDateOptions} options
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
var formatCraftDate = function (dateObject, options) {
|
|
28
28
|
var dateFormat = options && options.systemFormat ? 'yyyy-MM-dd' : 'dd-MM-yyyy';
|
|
29
29
|
var localeString = 'nl';
|
|
30
30
|
if (options && options.showTime) {
|
|
@@ -48,15 +48,16 @@ exports.formatCraftDate = function (dateObject, options) {
|
|
|
48
48
|
*/
|
|
49
49
|
var dateToFormat = dateObject.date.replace(/-/g, '/').split('.')[0];
|
|
50
50
|
// De spatie tussen datum en tijd vervangen door 'T', anders snapt IE het niet
|
|
51
|
-
return format_1.default(new Date(dateToFormat), dateFormat, {
|
|
51
|
+
return (0, format_1.default)(new Date(dateToFormat), dateFormat, {
|
|
52
52
|
locale: availableLocales[localeString],
|
|
53
53
|
});
|
|
54
54
|
};
|
|
55
|
+
exports.formatCraftDate = formatCraftDate;
|
|
55
56
|
/**
|
|
56
57
|
* Datum formatteren naar "x minuten etc. geleden"
|
|
57
58
|
* @param {date, timezone, timezone_type} dateObject
|
|
58
59
|
*/
|
|
59
|
-
|
|
60
|
+
var formatDateFromNow = function (dateObject, options) {
|
|
60
61
|
var defaultOptions = {
|
|
61
62
|
addSuffix: true,
|
|
62
63
|
includeSeconds: true,
|
|
@@ -73,13 +74,13 @@ exports.formatDateFromNow = function (dateObject, options) {
|
|
|
73
74
|
if (!dateObject || !dateObject.date) {
|
|
74
75
|
return '';
|
|
75
76
|
}
|
|
76
|
-
var parsed = date_fns_tz_1.zonedTimeToUtc(dateObject.date, dateObject.timezone);
|
|
77
|
+
var parsed = (0, date_fns_tz_1.zonedTimeToUtc)(dateObject.date, dateObject.timezone);
|
|
77
78
|
/**
|
|
78
79
|
* Datum tonen voor ouder dan x tijd
|
|
79
80
|
*/
|
|
80
81
|
if (opts.showDateForOld &&
|
|
81
|
-
isBefore_1.default(parsed, subDays_1.default(new Date(), opts.numberOfDaysShowDateForOld))) {
|
|
82
|
-
return format_1.default(new Date(dateObject.date.replace(' ', 'T')), opts.showDateForOldFormat, {
|
|
82
|
+
(0, isBefore_1.default)(parsed, (0, subDays_1.default)(new Date(), opts.numberOfDaysShowDateForOld))) {
|
|
83
|
+
return (0, format_1.default)(new Date(dateObject.date.replace(' ', 'T')), opts.showDateForOldFormat, {
|
|
83
84
|
locale: availableLocales[opts.locale],
|
|
84
85
|
});
|
|
85
86
|
}
|
|
@@ -94,18 +95,19 @@ exports.formatDateFromNow = function (dateObject, options) {
|
|
|
94
95
|
* Daarom moet date-fns wel de posttime getransformeerd hebben tot de lokale timezone
|
|
95
96
|
*/
|
|
96
97
|
if (opts.strict) {
|
|
97
|
-
return formatDistanceStrict_1.default(parsed, new Date(), formatDistanceOptions);
|
|
98
|
+
return (0, formatDistanceStrict_1.default)(parsed, new Date(), formatDistanceOptions);
|
|
98
99
|
}
|
|
99
100
|
else {
|
|
100
|
-
return formatDistance_1.default(parsed, new Date(), formatDistanceOptions);
|
|
101
|
+
return (0, formatDistance_1.default)(parsed, new Date(), formatDistanceOptions);
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
};
|
|
105
|
+
exports.formatDateFromNow = formatDateFromNow;
|
|
104
106
|
/**
|
|
105
107
|
* New date maken op basis van timezone
|
|
106
108
|
* @param {date, timezone, timezone_type} dateObject
|
|
107
109
|
*/
|
|
108
|
-
|
|
110
|
+
var formatNewDate = function (dateObject) {
|
|
109
111
|
if (!dateObject || !dateObject.date) {
|
|
110
112
|
return '';
|
|
111
113
|
}
|
|
@@ -115,23 +117,25 @@ exports.formatNewDate = function (dateObject) {
|
|
|
115
117
|
* Safari begrijpt het wel als alle - vervangen worden door /, en het laatste gedeelte achter de punt weg is
|
|
116
118
|
*/
|
|
117
119
|
// const dateString = dateObject.date.replace(/-/g, '/').split('.')[0];
|
|
118
|
-
var parsed = date_fns_tz_1.zonedTimeToUtc(dateObject.date, dateObject.timezone);
|
|
120
|
+
var parsed = (0, date_fns_tz_1.zonedTimeToUtc)(dateObject.date, dateObject.timezone);
|
|
119
121
|
return new Date(parsed);
|
|
120
122
|
};
|
|
123
|
+
exports.formatNewDate = formatNewDate;
|
|
121
124
|
/**
|
|
122
125
|
* Convert datum
|
|
123
126
|
* @param {Date} date
|
|
124
127
|
*/
|
|
125
|
-
|
|
128
|
+
var formatUTCDate = function (date) {
|
|
126
129
|
var d = new Date(date);
|
|
127
130
|
return new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds()));
|
|
128
131
|
};
|
|
132
|
+
exports.formatUTCDate = formatUTCDate;
|
|
129
133
|
/**
|
|
130
134
|
* ISO duration naar object ombuigen. Bijv P4W
|
|
131
135
|
* @param {string} duration
|
|
132
136
|
* @param {parseISODurationOptions} options
|
|
133
137
|
*/
|
|
134
|
-
|
|
138
|
+
var parseISODuration = function (duration, options) {
|
|
135
139
|
var defaultOptions = {
|
|
136
140
|
humanReadable: false,
|
|
137
141
|
};
|
|
@@ -139,11 +143,12 @@ exports.parseISODuration = function (duration, options) {
|
|
|
139
143
|
if (options) {
|
|
140
144
|
opts = Object.assign({}, defaultOptions, options);
|
|
141
145
|
}
|
|
142
|
-
var durationObject = tinyduration_1.parse(duration);
|
|
146
|
+
var durationObject = (0, tinyduration_1.parse)(duration);
|
|
143
147
|
if (opts.humanReadable) {
|
|
144
|
-
return formatDuration_1.default(durationObject, {
|
|
148
|
+
return (0, formatDuration_1.default)(durationObject, {
|
|
145
149
|
locale: locale_1.nl,
|
|
146
150
|
});
|
|
147
151
|
}
|
|
148
152
|
return durationObject;
|
|
149
153
|
};
|
|
154
|
+
exports.parseISODuration = parseISODuration;
|
package/dist/form.js
CHANGED
|
@@ -20,7 +20,7 @@ exports.convertObjectToFormData = void 0;
|
|
|
20
20
|
* @param {FormData} form
|
|
21
21
|
* @param {String} namespace
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
var convertObjectToFormData = function (data, form, namespace) {
|
|
24
24
|
if (data === void 0) { data = {}; }
|
|
25
25
|
if (form === void 0) { form = null; }
|
|
26
26
|
if (namespace === void 0) { namespace = ''; }
|
|
@@ -34,7 +34,7 @@ exports.convertObjectToFormData = function (data, form, namespace) {
|
|
|
34
34
|
return "continue";
|
|
35
35
|
}
|
|
36
36
|
var formKey = namespace
|
|
37
|
-
? namespace
|
|
37
|
+
? "".concat(namespace, "[").concat(propertyName, "]")
|
|
38
38
|
: propertyName;
|
|
39
39
|
// Date
|
|
40
40
|
if (model[propertyName] instanceof Date)
|
|
@@ -46,13 +46,13 @@ exports.convertObjectToFormData = function (data, form, namespace) {
|
|
|
46
46
|
}
|
|
47
47
|
else if (model[propertyName] instanceof Array) {
|
|
48
48
|
model[propertyName].forEach(function (element, index) {
|
|
49
|
-
var tempFormKey = formKey
|
|
49
|
+
var tempFormKey = "".concat(formKey, "[").concat(index, "]");
|
|
50
50
|
if (element instanceof File) {
|
|
51
51
|
formData.append(tempFormKey, element);
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
54
|
if (typeof element === 'object') {
|
|
55
|
-
exports.convertObjectToFormData(element, formData, tempFormKey);
|
|
55
|
+
(0, exports.convertObjectToFormData)(element, formData, tempFormKey);
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
58
|
formData.append(tempFormKey, element.toString());
|
|
@@ -63,7 +63,7 @@ exports.convertObjectToFormData = function (data, form, namespace) {
|
|
|
63
63
|
}
|
|
64
64
|
else if (typeof model[propertyName] === 'object' &&
|
|
65
65
|
!(model[propertyName] instanceof File)) {
|
|
66
|
-
exports.convertObjectToFormData(model[propertyName], formData, formKey);
|
|
66
|
+
(0, exports.convertObjectToFormData)(model[propertyName], formData, formKey);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
69
|
formData.append(formKey, model[propertyName].toString());
|
|
@@ -80,3 +80,4 @@ exports.convertObjectToFormData = function (data, form, namespace) {
|
|
|
80
80
|
// }
|
|
81
81
|
return formData;
|
|
82
82
|
};
|
|
83
|
+
exports.convertObjectToFormData = convertObjectToFormData;
|
|
@@ -14,7 +14,7 @@ var units = [
|
|
|
14
14
|
// NOTE: IE11 kan niet overweg met groups in een regex
|
|
15
15
|
// const r = (name: string, unit: string): string =>
|
|
16
16
|
// `((?<${name}>-?\\d*[\\.,]?\\d+)${unit})?`;
|
|
17
|
-
var r = function (name, unit) { return "((\\d*[\\.,]?\\d+)"
|
|
17
|
+
var r = function (name, unit) { return "((\\d*[\\.,]?\\d+)".concat(unit, ")?"); };
|
|
18
18
|
var durationRegex = new RegExp([
|
|
19
19
|
'P',
|
|
20
20
|
r('years', 'Y'),
|
|
@@ -25,7 +25,7 @@ var durationRegex = new RegExp([
|
|
|
25
25
|
r('hours', 'H'),
|
|
26
26
|
r('minutes', 'M'),
|
|
27
27
|
r('seconds', 'S'),
|
|
28
|
-
')?',
|
|
28
|
+
')?', // end optional time
|
|
29
29
|
].join(''));
|
|
30
30
|
function parseNum(s) {
|
|
31
31
|
if (s === '' || s === undefined || s === null) {
|
package/dist/misc.d.ts
CHANGED
package/dist/misc.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.wrap = exports.observeResize = exports.isPlainObject = exports.getUrlsFr
|
|
|
5
5
|
* Toon mooier bestandsformaat
|
|
6
6
|
* @param {string | number} bytes
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
var bytesToSize = function (bytes) {
|
|
9
9
|
if (typeof bytes === 'string') {
|
|
10
10
|
bytes = parseInt(bytes);
|
|
11
11
|
}
|
|
@@ -15,13 +15,15 @@ exports.bytesToSize = function (bytes) {
|
|
|
15
15
|
var i = Math.floor(Math.log(bytes) / Math.log(1024));
|
|
16
16
|
return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];
|
|
17
17
|
};
|
|
18
|
+
exports.bytesToSize = bytesToSize;
|
|
18
19
|
/**
|
|
19
20
|
* Eerste letter van een string een hoofdletter maken
|
|
20
21
|
* @param {string} str
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
|
+
var capitalize = function (str) {
|
|
23
24
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
24
25
|
};
|
|
26
|
+
exports.capitalize = capitalize;
|
|
25
27
|
/**
|
|
26
28
|
* Check of een HTML element horizontale of verticale scrollbars heeft
|
|
27
29
|
* als dat zo is, dan wordt een class op het element gezet.
|
|
@@ -29,7 +31,7 @@ exports.capitalize = function (str) {
|
|
|
29
31
|
* @param {HTMLElement} el
|
|
30
32
|
* @param {String} dir // vertical of horizontal
|
|
31
33
|
*/
|
|
32
|
-
|
|
34
|
+
var checkForScrollbars = function (el, dir) {
|
|
33
35
|
if (dir === void 0) { dir = 'vertical'; }
|
|
34
36
|
var direction = dir === 'vertical' ? 'scrollTop' : 'scrollLeft';
|
|
35
37
|
var hasScrollbar = !!el[direction];
|
|
@@ -39,23 +41,24 @@ exports.checkForScrollbars = function (el, dir) {
|
|
|
39
41
|
el[direction] = 0;
|
|
40
42
|
}
|
|
41
43
|
if (hasScrollbar) {
|
|
42
|
-
el.classList.add("has-"
|
|
44
|
+
el.classList.add("has-".concat(dir, "-scrollbar"));
|
|
43
45
|
}
|
|
44
46
|
else {
|
|
45
|
-
el.classList.remove("has-"
|
|
47
|
+
el.classList.remove("has-".concat(dir, "-scrollbar"));
|
|
46
48
|
}
|
|
47
49
|
};
|
|
50
|
+
exports.checkForScrollbars = checkForScrollbars;
|
|
48
51
|
/**
|
|
49
52
|
* Hex kleurcode converten naar rgba
|
|
50
53
|
*
|
|
51
54
|
* @param {string} hexCode
|
|
52
55
|
* @param {number} opacity
|
|
53
56
|
*/
|
|
54
|
-
|
|
57
|
+
var convertHexToRGBA = function (hexCode, opacity) {
|
|
55
58
|
if (opacity === void 0) { opacity = 1; }
|
|
56
59
|
var hex = hexCode.replace('#', '');
|
|
57
60
|
if (hex.length === 3) {
|
|
58
|
-
hex = ""
|
|
61
|
+
hex = "".concat(hex[0]).concat(hex[0]).concat(hex[1]).concat(hex[1]).concat(hex[2]).concat(hex[2]);
|
|
59
62
|
}
|
|
60
63
|
var r = parseInt(hex.substring(0, 2), 16);
|
|
61
64
|
var g = parseInt(hex.substring(2, 4), 16);
|
|
@@ -64,15 +67,16 @@ exports.convertHexToRGBA = function (hexCode, opacity) {
|
|
|
64
67
|
if (opacity > 1 && opacity <= 100) {
|
|
65
68
|
opacity = opacity / 100;
|
|
66
69
|
}
|
|
67
|
-
return "rgba("
|
|
70
|
+
return "rgba(".concat(r, ",").concat(g, ",").concat(b, ",").concat(opacity, ")");
|
|
68
71
|
};
|
|
72
|
+
exports.convertHexToRGBA = convertHexToRGBA;
|
|
69
73
|
/**
|
|
70
74
|
* Downloaden van een bestand
|
|
71
75
|
*
|
|
72
76
|
* @param {any} data
|
|
73
77
|
* @param {string} fileName
|
|
74
78
|
*/
|
|
75
|
-
|
|
79
|
+
var downloadFile = function (data, fileName) {
|
|
76
80
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
|
77
81
|
window.navigator.msSaveOrOpenBlob(new Blob([data]), fileName);
|
|
78
82
|
}
|
|
@@ -85,6 +89,7 @@ exports.downloadFile = function (data, fileName) {
|
|
|
85
89
|
fileLink.click();
|
|
86
90
|
}
|
|
87
91
|
};
|
|
92
|
+
exports.downloadFile = downloadFile;
|
|
88
93
|
/**
|
|
89
94
|
* Flat structure array ombouwen naar een array met children
|
|
90
95
|
* @param {array} entries
|
|
@@ -92,7 +97,7 @@ exports.downloadFile = function (data, fileName) {
|
|
|
92
97
|
* @param {number | string} left
|
|
93
98
|
* @param {number | string} right
|
|
94
99
|
*/
|
|
95
|
-
|
|
100
|
+
var getNestedSet = function (entries, level, left, right) {
|
|
96
101
|
if (entries === void 0) { entries = []; }
|
|
97
102
|
if (level === void 0) { level = 1; }
|
|
98
103
|
return entries
|
|
@@ -105,19 +110,21 @@ exports.getNestedSet = function (entries, level, left, right) {
|
|
|
105
110
|
})
|
|
106
111
|
.map(function (item) {
|
|
107
112
|
var returnItem = item;
|
|
108
|
-
returnItem['children'] = exports.getNestedSet(entries, parseFloat(item.level) + 1, parseFloat(item.lft), parseFloat(item.rgt));
|
|
113
|
+
returnItem['children'] = (0, exports.getNestedSet)(entries, parseFloat(item.level) + 1, parseFloat(item.lft), parseFloat(item.rgt));
|
|
109
114
|
return returnItem;
|
|
110
115
|
});
|
|
111
116
|
};
|
|
117
|
+
exports.getNestedSet = getNestedSet;
|
|
112
118
|
/**
|
|
113
119
|
* Urls uit een string halen
|
|
114
120
|
* @param {string} content - html
|
|
115
121
|
*/
|
|
116
|
-
|
|
122
|
+
var getUrlsFromString = function (content) {
|
|
117
123
|
var regex = /(https?|ftp|file):\/\/([-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)/gi;
|
|
118
124
|
var m = content.match(regex);
|
|
119
125
|
return m || null;
|
|
120
126
|
};
|
|
127
|
+
exports.getUrlsFromString = getUrlsFromString;
|
|
121
128
|
/**
|
|
122
129
|
* Bekijken of een waarde een object is
|
|
123
130
|
* https://github.com/reduxjs/redux/blob/master/src/utils/isPlainObject.ts
|
|
@@ -125,7 +132,7 @@ exports.getUrlsFromString = function (content) {
|
|
|
125
132
|
* @param {any} value - Waarde welke je wilt checken of het een object is
|
|
126
133
|
* @returns {boolean}
|
|
127
134
|
*/
|
|
128
|
-
|
|
135
|
+
var isPlainObject = function (value) {
|
|
129
136
|
if (typeof value !== 'object' || value === null) {
|
|
130
137
|
return false;
|
|
131
138
|
}
|
|
@@ -135,6 +142,7 @@ exports.isPlainObject = function (value) {
|
|
|
135
142
|
}
|
|
136
143
|
return Object.getPrototypeOf(value) === proto;
|
|
137
144
|
};
|
|
145
|
+
exports.isPlainObject = isPlainObject;
|
|
138
146
|
/**
|
|
139
147
|
* Resize observer; checkt of een HTML element zijn dimensies veranderen
|
|
140
148
|
* en zodra dat gebeurt wordt de callback functie gecalled.
|
|
@@ -142,21 +150,23 @@ exports.isPlainObject = function (value) {
|
|
|
142
150
|
* @param {HTMLElement} el
|
|
143
151
|
* @param {Function} callback
|
|
144
152
|
*/
|
|
145
|
-
|
|
153
|
+
var observeResize = function (element, callback) {
|
|
146
154
|
var resizeObserver = new ResizeObserver(function () {
|
|
147
155
|
callback(element);
|
|
148
156
|
});
|
|
149
157
|
resizeObserver.observe(element);
|
|
150
158
|
};
|
|
159
|
+
exports.observeResize = observeResize;
|
|
151
160
|
/**
|
|
152
161
|
* Wrap een element in een nieuw element
|
|
153
162
|
*
|
|
154
163
|
* @param {HTMLElement} el
|
|
155
164
|
* @param {HTMLElement} wrapper
|
|
156
165
|
*/
|
|
157
|
-
|
|
166
|
+
var wrap = function (el, wrapper) {
|
|
158
167
|
if (el.parentNode) {
|
|
159
168
|
el.parentNode.insertBefore(wrapper, el);
|
|
160
169
|
wrapper.appendChild(el);
|
|
161
170
|
}
|
|
162
171
|
};
|
|
172
|
+
exports.wrap = wrap;
|
package/dist/selectors.js
CHANGED
|
@@ -8,10 +8,11 @@ exports.getParents = exports.$$ = exports.$ = void 0;
|
|
|
8
8
|
* @param {*} [containerElement=document] - Element waarin hij moet selecteren
|
|
9
9
|
* @returns {(HTMLElement|null)}
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
var $ = function (selector, containerElement) {
|
|
12
12
|
if (containerElement === void 0) { containerElement = document; }
|
|
13
13
|
return containerElement.querySelector(selector);
|
|
14
14
|
};
|
|
15
|
+
exports.$ = $;
|
|
15
16
|
/**
|
|
16
17
|
* Selecteer alle items
|
|
17
18
|
*
|
|
@@ -19,10 +20,11 @@ exports.$ = function (selector, containerElement) {
|
|
|
19
20
|
* @param {*} [containerElement=document] - Element waarin hij moet selecteren
|
|
20
21
|
* @returns {HTMLElement[]}
|
|
21
22
|
*/
|
|
22
|
-
|
|
23
|
+
var $$ = function (selector, containerElement) {
|
|
23
24
|
if (containerElement === void 0) { containerElement = document; }
|
|
24
25
|
return Array.prototype.slice.apply(containerElement.querySelectorAll(selector));
|
|
25
26
|
};
|
|
27
|
+
exports.$$ = $$;
|
|
26
28
|
/**
|
|
27
29
|
* Haal parents van een element op
|
|
28
30
|
*
|
|
@@ -30,7 +32,7 @@ exports.$$ = function (selector, containerElement) {
|
|
|
30
32
|
* @param {string} [parentSelector] - Een selector waar hij aan moet voldoen.
|
|
31
33
|
* Als deze niet wordt meegegeven dan geeft hij alle parents terug
|
|
32
34
|
*/
|
|
33
|
-
|
|
35
|
+
var getParents = function (el, parentSelector) {
|
|
34
36
|
if (parentSelector === void 0) { parentSelector = ''; }
|
|
35
37
|
var parents = [];
|
|
36
38
|
var p = el.parentElement;
|
|
@@ -46,3 +48,4 @@ exports.getParents = function (el, parentSelector) {
|
|
|
46
48
|
}
|
|
47
49
|
return parents;
|
|
48
50
|
};
|
|
51
|
+
exports.getParents = getParents;
|
package/dist/url.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
8
10
|
};
|
|
9
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
12
|
exports.isAsset = exports.isPhoneOrEmailLink = exports.isCraftActionUrl = exports.isExternalUrl = exports.isInternalLink = void 0;
|
|
@@ -15,7 +17,7 @@ exports.isAsset = exports.isPhoneOrEmailLink = exports.isCraftActionUrl = export
|
|
|
15
17
|
* @param {string} url
|
|
16
18
|
* @param {PointerEvent} ev
|
|
17
19
|
*/
|
|
18
|
-
|
|
20
|
+
var isInternalLink = function (url, ev) {
|
|
19
21
|
if (ev) {
|
|
20
22
|
// some sanity checks taken from vue-router:
|
|
21
23
|
// https://github.com/vuejs/vue-router/blob/dev/src/components/link.js#L106
|
|
@@ -33,12 +35,13 @@ exports.isInternalLink = function (url, ev) {
|
|
|
33
35
|
return false;
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
|
-
return !exports.isExternalUrl(url) && !exports.isPhoneOrEmailLink(url) && !exports.isAsset(url);
|
|
38
|
+
return !(0, exports.isExternalUrl)(url) && !(0, exports.isPhoneOrEmailLink)(url) && !(0, exports.isAsset)(url);
|
|
37
39
|
};
|
|
40
|
+
exports.isInternalLink = isInternalLink;
|
|
38
41
|
/**
|
|
39
42
|
* Bepalen of het om een externe url gaat
|
|
40
43
|
*/
|
|
41
|
-
|
|
44
|
+
var isExternalUrl = function (url) {
|
|
42
45
|
if (!url) {
|
|
43
46
|
return false;
|
|
44
47
|
}
|
|
@@ -46,34 +49,37 @@ exports.isExternalUrl = function (url) {
|
|
|
46
49
|
* Plugin urls zijn actions en dit kunnen redirects zijn
|
|
47
50
|
* Deze actions urls dus altijd in een externe tab openen
|
|
48
51
|
*/
|
|
49
|
-
if (url.startsWith(window.location.origin
|
|
52
|
+
if (url.startsWith("".concat(window.location.origin, "/actions/"))) {
|
|
50
53
|
return true;
|
|
51
54
|
}
|
|
52
55
|
return url.startsWith('http') && !url.startsWith(window.location.origin);
|
|
53
56
|
};
|
|
57
|
+
exports.isExternalUrl = isExternalUrl;
|
|
54
58
|
/**
|
|
55
59
|
* Bepalen of het om een craft action url gaat
|
|
56
60
|
*/
|
|
57
|
-
|
|
61
|
+
var isCraftActionUrl = function (url) {
|
|
58
62
|
if (!url) {
|
|
59
63
|
return false;
|
|
60
64
|
}
|
|
61
65
|
return url.indexOf('/index.php/actions/') !== -1;
|
|
62
66
|
};
|
|
67
|
+
exports.isCraftActionUrl = isCraftActionUrl;
|
|
63
68
|
/**
|
|
64
69
|
* Checken of het om een tel of mailto link gaat
|
|
65
70
|
* (kan niet met bovenstaande omdat je bij tel of mailto bijvoorbeeld geen target blank wilt gebruiken)
|
|
66
71
|
*/
|
|
67
|
-
|
|
72
|
+
var isPhoneOrEmailLink = function (url) {
|
|
68
73
|
if (!url) {
|
|
69
74
|
return false;
|
|
70
75
|
}
|
|
71
76
|
return url.startsWith('mailto:') || url.startsWith('tel:');
|
|
72
77
|
};
|
|
78
|
+
exports.isPhoneOrEmailLink = isPhoneOrEmailLink;
|
|
73
79
|
/**
|
|
74
80
|
* Checken of url een bestand is, om deze ook in een nieuw venster te openen
|
|
75
81
|
*/
|
|
76
|
-
|
|
82
|
+
var isAsset = function (url) {
|
|
77
83
|
var _a;
|
|
78
84
|
if (!url) {
|
|
79
85
|
return false;
|
|
@@ -101,7 +107,7 @@ exports.isAsset = function (url) {
|
|
|
101
107
|
'xlsx',
|
|
102
108
|
];
|
|
103
109
|
var CONFIG_EXTENSIONS = ((_a = FW === null || FW === void 0 ? void 0 : FW.config) === null || _a === void 0 ? void 0 : _a.allowedFileExtensions) || [];
|
|
104
|
-
var extensions =
|
|
110
|
+
var extensions = __spreadArray(__spreadArray([], DEFAULT_EXTENSIONS, true), CONFIG_EXTENSIONS, true);
|
|
105
111
|
var slug = url.split('/').pop();
|
|
106
112
|
var slugParts = slug ? slug.split('.') : [];
|
|
107
113
|
if (slugParts.length < 2) {
|
|
@@ -113,3 +119,4 @@ exports.isAsset = function (url) {
|
|
|
113
119
|
}
|
|
114
120
|
return false;
|
|
115
121
|
};
|
|
122
|
+
exports.isAsset = isAsset;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amimpact/willy-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Javascript utils",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"@types/resize-observer-browser": "^0.1.7",
|
|
31
31
|
"browserify": "17.0.0",
|
|
32
32
|
"onchange": "7.1.0",
|
|
33
|
-
"typescript": "4.
|
|
33
|
+
"typescript": "4.7.3"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"date-fns": "2.
|
|
37
|
-
"date-fns-tz": "1.
|
|
36
|
+
"date-fns": "2.28.0",
|
|
37
|
+
"date-fns-tz": "1.3.4"
|
|
38
38
|
}
|
|
39
39
|
}
|