@amimpact/willy-utils 1.3.3 → 1.3.7

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/date.d.ts CHANGED
@@ -17,6 +17,13 @@ interface FormatCraftDateOptions {
17
17
  * @memberof FormatCraftDateOptions
18
18
  */
19
19
  format: string;
20
+ /**
21
+ * i18n Locale mee kunnen geven
22
+ *
23
+ * @type {string}
24
+ * @memberof FormatCraftDateOptions
25
+ */
26
+ locale: string;
20
27
  /**
21
28
  * Amerikaans formaat maken om in Craft op te kunnen slaan, anders Nederlands
22
29
  *
@@ -57,6 +64,13 @@ interface FormatDateFromNowOptions {
57
64
  * @memberof FormatDateFromNowOptions
58
65
  */
59
66
  showDateForOld: boolean;
67
+ /**
68
+ * Format voor hoe de data getoont wordt
69
+ *
70
+ * @type {string}
71
+ * @memberof FormatDateFromNowOptions
72
+ */
73
+ showDateForOldFormat: string;
60
74
  /**
61
75
  * Aantal dagen voor bovenstaan item
62
76
  *
@@ -72,6 +86,13 @@ interface FormatDateFromNowOptions {
72
86
  * @memberof FormatDateFromNowOptions
73
87
  */
74
88
  strict: boolean;
89
+ /**
90
+ * Welke locale is default
91
+ *
92
+ * @type {any}
93
+ * @memberof FormatDateFromNowOptions
94
+ */
95
+ locale: any;
75
96
  }
76
97
  /**
77
98
  * Opties voor parseISODuration
package/dist/date.js CHANGED
@@ -10,6 +10,14 @@ var subDays_1 = require("date-fns/subDays");
10
10
  var locale_1 = require("date-fns/locale");
11
11
  var date_fns_timezone_1 = require("date-fns-timezone");
12
12
  var tinyduration_1 = require("./includes/tinyduration");
13
+ /**
14
+ * Momenteel beschikbare locales
15
+ * Engels is default (leeg)
16
+ */
17
+ var availableLocales = {
18
+ en: '',
19
+ nl: locale_1.nl,
20
+ };
13
21
  /**
14
22
  * Format date object uit Craft naar iets leesbaars
15
23
  *
@@ -18,6 +26,7 @@ var tinyduration_1 = require("./includes/tinyduration");
18
26
  */
19
27
  exports.formatCraftDate = function (dateObject, options) {
20
28
  var dateFormat = options && options.systemFormat ? 'yyyy-MM-dd' : 'dd-MM-yyyy';
29
+ var localeString = 'nl';
21
30
  if (options && options.showTime) {
22
31
  dateFormat += ' HH:mm';
23
32
  }
@@ -25,6 +34,10 @@ exports.formatCraftDate = function (dateObject, options) {
25
34
  if (options && options.format) {
26
35
  dateFormat = options.format;
27
36
  }
37
+ // Locale mee kunnen geven
38
+ if (options && options.locale) {
39
+ localeString = options.locale;
40
+ }
28
41
  if (!dateObject || !dateObject.date) {
29
42
  return '';
30
43
  }
@@ -36,7 +49,7 @@ exports.formatCraftDate = function (dateObject, options) {
36
49
  var dateToFormat = dateObject.date.replace(/-/g, '/').split('.')[0];
37
50
  // De spatie tussen datum en tijd vervangen door 'T', anders snapt IE het niet
38
51
  return format_1.default(new Date(dateToFormat), dateFormat, {
39
- locale: locale_1.nl,
52
+ locale: availableLocales[localeString],
40
53
  });
41
54
  };
42
55
  /**
@@ -48,8 +61,10 @@ exports.formatDateFromNow = function (dateObject, options) {
48
61
  addSuffix: true,
49
62
  includeSeconds: true,
50
63
  showDateForOld: false,
64
+ showDateForOldFormat: 'dd-MM-yyyy',
51
65
  numberOfDaysShowDateForOld: 7,
52
66
  strict: false,
67
+ locale: locale_1.nl,
53
68
  };
54
69
  var opts = defaultOptions;
55
70
  if (options) {
@@ -66,15 +81,15 @@ exports.formatDateFromNow = function (dateObject, options) {
66
81
  */
67
82
  if (opts.showDateForOld &&
68
83
  isBefore_1.default(parsed, subDays_1.default(new Date(), opts.numberOfDaysShowDateForOld))) {
69
- return format_1.default(new Date(dateObject.date.replace(' ', 'T')), 'dd-MM-yyyy', {
70
- locale: locale_1.nl,
84
+ return format_1.default(new Date(dateObject.date.replace(' ', 'T')), opts.showDateForOldFormat, {
85
+ locale: availableLocales[opts.locale],
71
86
  });
72
87
  }
73
88
  else {
74
89
  var formatDistanceOptions = {
75
90
  includeSeconds: opts.includeSeconds,
76
91
  addSuffix: opts.addSuffix,
77
- locale: locale_1.nl,
92
+ locale: availableLocales[opts.locale],
78
93
  };
79
94
  /**
80
95
  * De postdate moet bepaald worden met timezone erbij. Anders krijg je in Engeland bijv de melding 'over ongeveer een uur'
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createCookie, readCookie, eraseCookie } from './cookie';
2
2
  import { formatCraftDate, formatDateFromNow, formatNewDate, parseISODuration } from './date';
3
3
  import { convertObjectToFormData } from './form';
4
- import { bytesToSize, getNestedSet, getUrlsFromString, wrap } from './misc';
4
+ import { bytesToSize, downloadFile, getNestedSet, getUrlsFromString, wrap } from './misc';
5
5
  import { $, $$, getParents } from './selectors';
6
6
  import { isCraftActionUrl, isInternalLink, isExternalUrl, isAsset } from './url';
7
- export { $, $$, bytesToSize, createCookie, eraseCookie, formatCraftDate, convertObjectToFormData, formatDateFromNow, formatNewDate, getNestedSet, getParents, getUrlsFromString, isAsset, isCraftActionUrl, isExternalUrl, isInternalLink, parseISODuration, readCookie, wrap, };
7
+ export { $, $$, bytesToSize, createCookie, downloadFile, eraseCookie, formatCraftDate, convertObjectToFormData, formatDateFromNow, formatNewDate, getNestedSet, getParents, getUrlsFromString, isAsset, isCraftActionUrl, isExternalUrl, isInternalLink, parseISODuration, readCookie, wrap, };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrap = exports.readCookie = exports.parseISODuration = exports.isInternalLink = exports.isExternalUrl = exports.isCraftActionUrl = exports.isAsset = exports.getUrlsFromString = exports.getParents = exports.getNestedSet = exports.formatNewDate = exports.formatDateFromNow = exports.convertObjectToFormData = exports.formatCraftDate = exports.eraseCookie = exports.createCookie = exports.bytesToSize = exports.$$ = exports.$ = void 0;
3
+ exports.wrap = exports.readCookie = exports.parseISODuration = exports.isInternalLink = exports.isExternalUrl = exports.isCraftActionUrl = exports.isAsset = exports.getUrlsFromString = exports.getParents = exports.getNestedSet = exports.formatNewDate = exports.formatDateFromNow = exports.convertObjectToFormData = exports.formatCraftDate = exports.eraseCookie = exports.downloadFile = exports.createCookie = exports.bytesToSize = exports.$$ = exports.$ = void 0;
4
4
  var cookie_1 = require("./cookie");
5
5
  Object.defineProperty(exports, "createCookie", { enumerable: true, get: function () { return cookie_1.createCookie; } });
6
6
  Object.defineProperty(exports, "readCookie", { enumerable: true, get: function () { return cookie_1.readCookie; } });
@@ -14,6 +14,7 @@ var form_1 = require("./form");
14
14
  Object.defineProperty(exports, "convertObjectToFormData", { enumerable: true, get: function () { return form_1.convertObjectToFormData; } });
15
15
  var misc_1 = require("./misc");
16
16
  Object.defineProperty(exports, "bytesToSize", { enumerable: true, get: function () { return misc_1.bytesToSize; } });
17
+ Object.defineProperty(exports, "downloadFile", { enumerable: true, get: function () { return misc_1.downloadFile; } });
17
18
  Object.defineProperty(exports, "getNestedSet", { enumerable: true, get: function () { return misc_1.getNestedSet; } });
18
19
  Object.defineProperty(exports, "getUrlsFromString", { enumerable: true, get: function () { return misc_1.getUrlsFromString; } });
19
20
  Object.defineProperty(exports, "wrap", { enumerable: true, get: function () { return misc_1.wrap; } });
package/dist/misc.d.ts CHANGED
@@ -23,3 +23,10 @@ export declare const getUrlsFromString: (content: string) => RegExpMatchArray |
23
23
  * @param {HTMLElement} wrapper
24
24
  */
25
25
  export declare const wrap: (el: HTMLElement, wrapper: HTMLElement) => void;
26
+ /**
27
+ * Downloaden van een bestand
28
+ *
29
+ * @param {any} data
30
+ * @param {string} fileName
31
+ */
32
+ export declare const downloadFile: (data: any, fileName: string) => void;
package/dist/misc.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrap = exports.getUrlsFromString = exports.getNestedSet = exports.bytesToSize = void 0;
3
+ exports.downloadFile = exports.wrap = exports.getUrlsFromString = exports.getNestedSet = exports.bytesToSize = void 0;
4
4
  /**
5
5
  * Toon mooier bestandsformaat
6
6
  * @param {string | number} bytes
@@ -60,3 +60,22 @@ exports.wrap = function (el, wrapper) {
60
60
  wrapper.appendChild(el);
61
61
  }
62
62
  };
63
+ /**
64
+ * Downloaden van een bestand
65
+ *
66
+ * @param {any} data
67
+ * @param {string} fileName
68
+ */
69
+ exports.downloadFile = function (data, fileName) {
70
+ if (typeof window.navigator.msSaveBlob !== 'undefined') {
71
+ window.navigator.msSaveOrOpenBlob(new Blob([data]), fileName);
72
+ }
73
+ else {
74
+ var fileURL = window.URL.createObjectURL(new Blob([data]));
75
+ var fileLink = document.createElement('a');
76
+ fileLink.href = fileURL;
77
+ fileLink.setAttribute('download', fileName);
78
+ document.body.appendChild(fileLink);
79
+ fileLink.click();
80
+ }
81
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amimpact/willy-utils",
3
- "version": "1.3.3",
3
+ "version": "1.3.7",
4
4
  "description": "Javascript utils",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",