@bbn/bbn 1.0.436 → 1.0.438

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.
Files changed (206) hide show
  1. package/dist/_.js +7 -11
  2. package/dist/bbn.js +1 -1
  3. package/dist/bbn.js.map +1 -1
  4. package/dist/date.d.ts +26 -0
  5. package/dist/date.js +190 -0
  6. package/dist/db.js +107 -124
  7. package/dist/fn/ajax/_addLoader.js +6 -6
  8. package/dist/fn/ajax/_deleteLoader.js +11 -13
  9. package/dist/fn/ajax/abort.js +1 -1
  10. package/dist/fn/ajax/abortURL.js +1 -1
  11. package/dist/fn/ajax/ajax.js +25 -30
  12. package/dist/fn/ajax/callback.js +10 -14
  13. package/dist/fn/ajax/download.js +7 -9
  14. package/dist/fn/ajax/downloadContent.js +5 -6
  15. package/dist/fn/ajax/getLoader.js +1 -1
  16. package/dist/fn/ajax/getRequestId.js +2 -2
  17. package/dist/fn/ajax/link.js +9 -13
  18. package/dist/fn/ajax/post.js +3 -7
  19. package/dist/fn/ajax/postOut.js +2 -4
  20. package/dist/fn/ajax/setNavigationVars.js +5 -7
  21. package/dist/fn/ajax/stream.js +21 -22
  22. package/dist/fn/ajax/treatAjaxArguments.js +3 -3
  23. package/dist/fn/ajax/upload.js +6 -9
  24. package/dist/fn/browser/copy.js +9 -12
  25. package/dist/fn/browser/error.js +2 -2
  26. package/dist/fn/browser/executeSlowly.js +11 -55
  27. package/dist/fn/browser/getBrowserName.js +1 -1
  28. package/dist/fn/browser/getBrowserVersion.js +1 -1
  29. package/dist/fn/browser/getCookie.js +5 -5
  30. package/dist/fn/browser/getDeviceType.js +1 -1
  31. package/dist/fn/browser/getEventData.js +30 -30
  32. package/dist/fn/browser/happy.js +1 -5
  33. package/dist/fn/browser/info.js +1 -5
  34. package/dist/fn/browser/isActiveInterface.js +2 -3
  35. package/dist/fn/browser/isFocused.js +1 -2
  36. package/dist/fn/browser/log.js +8 -12
  37. package/dist/fn/browser/replaceSelection.js +5 -5
  38. package/dist/fn/browser/selectElementText.js +4 -5
  39. package/dist/fn/browser/setCookie.js +3 -3
  40. package/dist/fn/browser/warning.js +2 -2
  41. package/dist/fn/browser/yieldToBrowser.js +7 -43
  42. package/dist/fn/convert/arrayBuffer2String.js +1 -1
  43. package/dist/fn/convert/canvasToImage.js +1 -1
  44. package/dist/fn/convert/colorToHex.js +1 -1
  45. package/dist/fn/convert/fromXml.js +7 -13
  46. package/dist/fn/convert/hex2rgb.js +1 -1
  47. package/dist/fn/convert/imageToCanvas.js +1 -1
  48. package/dist/fn/convert/imgToBase64.js +2 -3
  49. package/dist/fn/convert/toCSV.js +7 -10
  50. package/dist/fn/datetime/calendar.js +4 -5
  51. package/dist/fn/datetime/date.js +1 -1
  52. package/dist/fn/datetime/dateSQL.js +1 -1
  53. package/dist/fn/datetime/daysInMonth.js +1 -1
  54. package/dist/fn/datetime/fdate.js +2 -3
  55. package/dist/fn/datetime/fdatetime.js +2 -3
  56. package/dist/fn/datetime/ftime.js +1 -1
  57. package/dist/fn/datetime/getChrono.js +2 -3
  58. package/dist/fn/datetime/getDay.js +3 -3
  59. package/dist/fn/datetime/startChrono.js +1 -1
  60. package/dist/fn/datetime/stopChrono.js +2 -2
  61. package/dist/fn/datetime/timestamp.js +2 -3
  62. package/dist/fn/default/defaultAjaxAbortFunction.js +1 -2
  63. package/dist/fn/default/defaultAjaxErrorFunction.js +1 -3
  64. package/dist/fn/default/defaultAlertFunction.js +1 -2
  65. package/dist/fn/default/defaultConfirmFunction.js +2 -3
  66. package/dist/fn/default/defaultEndLoadingFunction.js +1 -3
  67. package/dist/fn/default/defaultPostLinkFunction.js +1 -2
  68. package/dist/fn/default/defaultPreLinkFunction.js +1 -3
  69. package/dist/fn/form/addInputs.js +10 -12
  70. package/dist/fn/form/fieldValue.js +1 -1
  71. package/dist/fn/form/formdata.js +24 -24
  72. package/dist/fn/form/objectToFormData.js +5 -8
  73. package/dist/fn/form/submit.js +4 -4
  74. package/dist/fn/html/adjustHeight.js +1 -1
  75. package/dist/fn/html/adjustSize.js +5 -5
  76. package/dist/fn/html/adjustWidth.js +1 -1
  77. package/dist/fn/html/getAllTags.js +1 -1
  78. package/dist/fn/html/getAncestors.js +2 -3
  79. package/dist/fn/html/getAttributes.js +2 -2
  80. package/dist/fn/html/getHTMLOfSelection.js +4 -4
  81. package/dist/fn/html/getHtml.js +2 -3
  82. package/dist/fn/html/getIndex.js +3 -4
  83. package/dist/fn/html/getPath.js +12 -17
  84. package/dist/fn/html/html2text.js +1 -1
  85. package/dist/fn/html/isInViewport.js +4 -5
  86. package/dist/fn/html/isInside.js +5 -5
  87. package/dist/fn/html/makeReactive.js +22 -26
  88. package/dist/fn/init.js +18 -18
  89. package/dist/fn/loop/each.js +2 -2
  90. package/dist/fn/loop/fori.js +3 -5
  91. package/dist/fn/loop/forir.js +3 -5
  92. package/dist/fn/loop/iterate.js +3 -6
  93. package/dist/fn/loop/riterate.js +1 -2
  94. package/dist/fn/misc/analyzeFunction.js +36 -36
  95. package/dist/fn/misc/money.js +4 -4
  96. package/dist/fn/misc/translate.js +2 -2
  97. package/dist/fn/object/_compareValues.js +2 -3
  98. package/dist/fn/object/_filter.js +7 -10
  99. package/dist/fn/object/arrayFromProp.js +2 -2
  100. package/dist/fn/object/checkProps.js +1 -2
  101. package/dist/fn/object/checkPropsDetails.js +8 -9
  102. package/dist/fn/object/checkPropsOrDie.js +2 -3
  103. package/dist/fn/object/circularReplacer.js +2 -2
  104. package/dist/fn/object/clone.js +2 -2
  105. package/dist/fn/object/compareConditions.js +6 -6
  106. package/dist/fn/object/count.js +1 -3
  107. package/dist/fn/object/createObject.js +3 -16
  108. package/dist/fn/object/deepPath.js +6 -7
  109. package/dist/fn/object/diffObj.js +11 -13
  110. package/dist/fn/object/extend.js +10 -14
  111. package/dist/fn/object/extendOut.js +4 -9
  112. package/dist/fn/object/filter.js +6 -12
  113. package/dist/fn/object/filterToConditions.js +6 -7
  114. package/dist/fn/object/findAll.js +4 -5
  115. package/dist/fn/object/getField.js +2 -8
  116. package/dist/fn/object/getFieldValues.js +2 -2
  117. package/dist/fn/object/getProperty.js +5 -9
  118. package/dist/fn/object/getRow.js +2 -7
  119. package/dist/fn/object/getSortingMoves.js +28 -28
  120. package/dist/fn/object/isWritable.js +1 -1
  121. package/dist/fn/object/map.js +2 -3
  122. package/dist/fn/object/move.js +1 -1
  123. package/dist/fn/object/multiorder.js +5 -6
  124. package/dist/fn/object/mutateArray.js +8 -9
  125. package/dist/fn/object/mutateObject.js +3 -3
  126. package/dist/fn/object/order.js +1 -2
  127. package/dist/fn/object/removeEmpty.js +2 -2
  128. package/dist/fn/object/removePrivateProp.js +2 -3
  129. package/dist/fn/object/search.js +13 -17
  130. package/dist/fn/object/setProp.js +1 -3
  131. package/dist/fn/object/setProperty.js +8 -8
  132. package/dist/fn/object/shortenObj.js +3 -4
  133. package/dist/fn/object/shuffle.js +2 -3
  134. package/dist/fn/object/sum.js +3 -3
  135. package/dist/fn/object/unique.js +1 -1
  136. package/dist/fn/phone/fphone.js +22 -22
  137. package/dist/fn/string/baseName.js +3 -3
  138. package/dist/fn/string/correctCase.js +1 -1
  139. package/dist/fn/string/crc32.js +7 -7
  140. package/dist/fn/string/data2Html.js +4 -5
  141. package/dist/fn/string/dirName.js +1 -1
  142. package/dist/fn/string/escapeUrl.js +6 -6
  143. package/dist/fn/string/fileExt.js +1 -1
  144. package/dist/fn/string/firstVarElement.js +2 -2
  145. package/dist/fn/string/format.js +4 -4
  146. package/dist/fn/string/formatBytes.js +2 -3
  147. package/dist/fn/string/hash.js +4 -8
  148. package/dist/fn/string/randomString.js +5 -5
  149. package/dist/fn/string/replaceAll.js +1 -2
  150. package/dist/fn/string/sanitize.js +6 -7
  151. package/dist/fn/string/simpleHash.js +2 -2
  152. package/dist/fn/string/simpleHash1.js +3 -3
  153. package/dist/fn/string/simpleHash2.js +3 -3
  154. package/dist/fn/string/treatForHash.js +6 -10
  155. package/dist/fn/string/trim.js +1 -2
  156. package/dist/fn/string/uniqString.js +7 -14
  157. package/dist/fn/style/addColors.js +14 -14
  158. package/dist/fn/style/addStyle.js +1 -1
  159. package/dist/fn/style/animateCss.js +1 -1
  160. package/dist/fn/style/center.js +1 -1
  161. package/dist/fn/style/cssExists.js +5 -5
  162. package/dist/fn/style/getCssVar.js +1 -1
  163. package/dist/fn/style/getScrollBarSize.js +5 -5
  164. package/dist/fn/style/lightenDarkenHex.js +2 -2
  165. package/dist/fn/style/outerHeight.js +2 -2
  166. package/dist/fn/style/outerWidth.js +2 -2
  167. package/dist/fn/style/resize.js +14 -14
  168. package/dist/fn/type/checkType.js +5 -9
  169. package/dist/fn/type/isArray.js +2 -7
  170. package/dist/fn/type/isBlob.js +2 -7
  171. package/dist/fn/type/isBoolean.js +2 -7
  172. package/dist/fn/type/isCanvas.js +2 -7
  173. package/dist/fn/type/isColor.js +2 -7
  174. package/dist/fn/type/isComment.js +2 -7
  175. package/dist/fn/type/isCp.js +3 -8
  176. package/dist/fn/type/isDataURL.js +2 -7
  177. package/dist/fn/type/isDate.js +2 -7
  178. package/dist/fn/type/isDimension.js +2 -7
  179. package/dist/fn/type/isDom.js +2 -7
  180. package/dist/fn/type/isEmail.js +3 -8
  181. package/dist/fn/type/isEvent.js +2 -7
  182. package/dist/fn/type/isFunction.js +2 -7
  183. package/dist/fn/type/isHostname.js +2 -7
  184. package/dist/fn/type/isIP.js +2 -7
  185. package/dist/fn/type/isInt.js +2 -7
  186. package/dist/fn/type/isIterable.js +2 -7
  187. package/dist/fn/type/isNotObject.js +2 -7
  188. package/dist/fn/type/isNull.js +2 -7
  189. package/dist/fn/type/isNumber.js +2 -7
  190. package/dist/fn/type/isObject.js +2 -7
  191. package/dist/fn/type/isPercent.js +2 -7
  192. package/dist/fn/type/isPrimitive.js +2 -7
  193. package/dist/fn/type/isPromise.js +2 -7
  194. package/dist/fn/type/isPropSize.js +2 -2
  195. package/dist/fn/type/isSQLDate.js +2 -7
  196. package/dist/fn/type/isSame.js +12 -12
  197. package/dist/fn/type/isString.js +2 -7
  198. package/dist/fn/type/isSymbol.js +2 -7
  199. package/dist/fn/type/isURL.js +2 -7
  200. package/dist/fn/type/isUid.js +2 -7
  201. package/dist/fn/type/isValidDimension.js +2 -2
  202. package/dist/fn/type/isValidName.js +2 -7
  203. package/dist/fn/type/isVue.js +4 -11
  204. package/dist/fn.js +247 -247
  205. package/dist/index.js +9 -7
  206. package/package.json +1 -1
@@ -15,23 +15,21 @@ import isObject from '../type/isObject.js';
15
15
  *
16
16
  * @returns {Boolean} True if the loader was found
17
17
  */
18
- export default function _deleteLoader(requestId, res, isAbort) {
19
- if (res === void 0) { res = null; }
20
- if (isAbort === void 0) { isAbort = false; }
21
- var idx = search(bbn.env.loaders, { key: requestId });
18
+ export default function _deleteLoader(requestId, res = null, isAbort = false) {
19
+ let idx = search(bbn.env.loaders, { key: requestId });
22
20
  if (idx > -1) {
23
- var loader = bbn.env.loaders.splice(idx, 1)[0];
24
- var history_1 = getRow(bbn.env.loadersHistory, { key: requestId, start: loader.start });
25
- if (history_1) {
26
- history_1.loading = false;
27
- history_1.duration = new Date().getTime() - loader.start;
21
+ let loader = bbn.env.loaders.splice(idx, 1)[0];
22
+ let history = getRow(bbn.env.loadersHistory, { key: requestId, start: loader.start });
23
+ if (history) {
24
+ history.loading = false;
25
+ history.duration = new Date().getTime() - loader.start;
28
26
  if (typeof res === 'string') {
29
- history_1.errorMessage = res;
30
- history_1.error = !isAbort;
31
- history_1.abort = isAbort;
27
+ history.errorMessage = res;
28
+ history.error = !isAbort;
29
+ history.abort = isAbort;
32
30
  }
33
31
  else if (isObject(res)) {
34
- history_1.success = true;
32
+ history.success = true;
35
33
  }
36
34
  }
37
35
  return true;
@@ -22,7 +22,7 @@ import getLoader from './getLoader.js';
22
22
  * @returns {undefined}
23
23
  */
24
24
  export default function abort(requestId) {
25
- var loader = getLoader(requestId);
25
+ let loader = getLoader(requestId);
26
26
  if (loader === null || loader === void 0 ? void 0 : loader.aborter) {
27
27
  loader.aborter.abort('Operation canceled by the user.');
28
28
  }
@@ -21,7 +21,7 @@ import _filter from '../object/_filter.js';
21
21
  * @returns {undefined}
22
22
  */
23
23
  export default function abortURL(url) {
24
- each(_filter(bbn.env.loaders, { url: url }), function (a) {
24
+ each(_filter(bbn.env.loaders, { url: url }), (a) => {
25
25
  if (a && a.source) {
26
26
  a.source.cancel('Operation canceled by the user.');
27
27
  }
@@ -62,12 +62,7 @@ import _addLoader from './_addLoader.js';
62
62
  *
63
63
  * @returns {Promise} The Promise created by the generated XHR.
64
64
  */
65
- export default function ajax(url, datatype, data, success, failure, abort) {
66
- if (datatype === void 0) { datatype = null; }
67
- if (data === void 0) { data = null; }
68
- if (success === void 0) { success = null; }
69
- if (failure === void 0) { failure = null; }
70
- if (abort === void 0) { abort = null; }
65
+ export default function ajax(url, datatype = null, data = null, success = null, failure = null, abort = null) {
71
66
  if ((datatype === null) && url && (typeof url === "object") && url.url) {
72
67
  if (url.abort) {
73
68
  abort = url.abort;
@@ -97,16 +92,16 @@ export default function ajax(url, datatype, data, success, failure, abort) {
97
92
  if (!datatype) {
98
93
  datatype = "json";
99
94
  }
100
- var requestId_1 = getRequestId(url, data, datatype);
101
- var loaderObj = getLoader(requestId_1);
95
+ let requestId = getRequestId(url, data, datatype);
96
+ let loaderObj = getLoader(requestId);
102
97
  if (loaderObj === null || loaderObj === void 0 ? void 0 : loaderObj.loader) {
103
98
  return loaderObj.loader;
104
99
  }
105
100
  if (bbn.env.token) {
106
101
  extend(data || {}, { _bbn_token: bbn.env.token });
107
102
  }
108
- var aborter = new AbortController();
109
- var options = {
103
+ const aborter = new AbortController();
104
+ let options = {
110
105
  responseType: datatype,
111
106
  signal: aborter.signal
112
107
  };
@@ -116,17 +111,17 @@ export default function ajax(url, datatype, data, success, failure, abort) {
116
111
  "Content-Type": "text/javascript",
117
112
  };
118
113
  }
119
- var args = [url];
114
+ let args = [url];
120
115
  if (isObject(data)) {
121
116
  args.push(data);
122
117
  }
123
118
  args.push(options);
124
- var axiosMethod = args.length === 2 ? "get" : "post";
125
- var loader_1 = axios[axiosMethod]
119
+ const axiosMethod = args.length === 2 ? "get" : "post";
120
+ let loader = axios[axiosMethod]
126
121
  .apply(null, args)
127
- .then(function (res) {
128
- _deleteLoader(requestId_1, res);
129
- bbn.fn.defaultEndLoadingFunction(url, tst_1, data, res);
122
+ .then(res => {
123
+ _deleteLoader(requestId, res);
124
+ bbn.fn.defaultEndLoadingFunction(url, tst, data, res);
130
125
  switch (res.status) {
131
126
  case 200:
132
127
  if (isFunction(success)) {
@@ -135,22 +130,22 @@ export default function ajax(url, datatype, data, success, failure, abort) {
135
130
  }
136
131
  break;
137
132
  default:
138
- var ok = 1;
133
+ let ok = 1;
139
134
  if (isFunction(failure)) {
140
- ok = failure(loader_1, res.message, res);
135
+ ok = failure(loader, res.message, res);
141
136
  }
142
137
  if (ok) {
143
- bbn.fn.defaultAjaxErrorFunction(loader_1, res.message, res);
138
+ bbn.fn.defaultAjaxErrorFunction(loader, res.message, res);
144
139
  }
145
140
  }
146
141
  return res;
147
142
  })
148
- .catch(function (err) {
149
- var isAbort = axios.isCancel(err);
150
- _deleteLoader(requestId_1, err.message || err.response.data, isAbort);
151
- bbn.fn.defaultEndLoadingFunction(url, tst_1, data, err);
143
+ .catch((err) => {
144
+ let isAbort = axios.isCancel(err);
145
+ _deleteLoader(requestId, err.message || err.response.data, isAbort);
146
+ bbn.fn.defaultEndLoadingFunction(url, tst, data, err);
152
147
  if (isAbort) {
153
- var ok = 1;
148
+ let ok = 1;
154
149
  if (isFunction(abort)) {
155
150
  ok = abort(err.message, url);
156
151
  }
@@ -159,19 +154,19 @@ export default function ajax(url, datatype, data, success, failure, abort) {
159
154
  }
160
155
  }
161
156
  else {
162
- var ok = 1;
157
+ let ok = 1;
163
158
  if (isFunction(failure)) {
164
- ok = failure(loader_1, err.message, err);
159
+ ok = failure(loader, err.message, err);
165
160
  }
166
161
  if (ok) {
167
- bbn.fn.defaultAjaxErrorFunction(loader_1, err.message, err.response);
162
+ bbn.fn.defaultAjaxErrorFunction(loader, err.message, err.response);
168
163
  }
169
164
  }
170
165
  return err.response;
171
166
  });
172
- var tst_1 = _addLoader(requestId_1, loader_1, aborter);
173
- bbn.fn.defaultStartLoadingFunction(url, tst_1, data, requestId_1);
174
- return loader_1;
167
+ let tst = _addLoader(requestId, loader, aborter);
168
+ bbn.fn.defaultStartLoadingFunction(url, tst, data, requestId);
169
+ return loader;
175
170
  }
176
171
  }
177
172
  ;
@@ -36,21 +36,17 @@ import log from '../browser/log.js';
36
36
  *
37
37
  * @returns {*} The result of the main callback function: res.script, fn, or bbn.fn.defaultLinkFunction
38
38
  */
39
- export default function callback(url, res, fn, fn2, ele) {
40
- if (res === void 0) { res = null; }
41
- if (fn === void 0) { fn = null; }
42
- if (fn2 === void 0) { fn2 = null; }
43
- if (ele === void 0) { ele = null; }
44
- var tmp = false;
39
+ export default function callback(url, res = null, fn = null, fn2 = null, ele = null) {
40
+ let tmp = false;
45
41
  if (res) {
46
42
  tmp = true;
47
- var t = typeof res;
48
- var isObj = t.toLowerCase() === 'object';
49
- var errTitle = void 0;
43
+ let t = typeof res;
44
+ let isObj = t.toLowerCase() === 'object';
45
+ let errTitle;
50
46
  if (isObj && res.prescript) {
51
47
  /* var ok can be changed to false in prescript execution */
52
48
  try {
53
- var preFn = new Function(res.prescript);
49
+ const preFn = new Function(res.prescript);
54
50
  preFn();
55
51
  }
56
52
  catch (e) {
@@ -80,10 +76,10 @@ export default function callback(url, res, fn, fn2, ele) {
80
76
  tmp = res.script(res.data ? res.data : {}, ele || null);
81
77
  }
82
78
  else {
83
- tmp = (function (data, ele) {
84
- var r = null;
79
+ tmp = ((data, ele) => {
80
+ let r = null;
85
81
  try {
86
- var fnScript = new Function(res.script);
82
+ let fnScript = new Function(res.script);
87
83
  r = fnScript();
88
84
  if (isFunction(r)) {
89
85
  r = r(data, ele);
@@ -105,7 +101,7 @@ export default function callback(url, res, fn, fn2, ele) {
105
101
  bbn.fn.defaultPostLinkFunction(res, ele);
106
102
  }
107
103
  if (tmp && isObj && res.postscript) {
108
- var fnPost = new Function(res.postscript);
104
+ let fnPost = new Function(res.postscript);
109
105
  fnPost(res.postscript);
110
106
  }
111
107
  if (isObj && res.error) {
@@ -32,18 +32,16 @@ import downloadContent from './downloadContent.js';
32
32
  *
33
33
  * @returns {undefined}
34
34
  */
35
- export default function download(url, filename, params) {
36
- if (filename === void 0) { filename = ''; }
37
- if (params === void 0) { params = null; }
35
+ export default function download(url, filename = '', params = null) {
38
36
  // We can intervert the arguments
39
37
  if (filename && typeof filename === "object") {
40
38
  params = filename;
41
39
  filename = "";
42
40
  }
43
- return ajax(url, "blob", params || { _bbn_download: 1 }, function (d, headers) {
41
+ return ajax(url, "blob", params || { _bbn_download: 1 }, (d, headers) => {
44
42
  if (!filename) {
45
- var prop = "content-disposition";
46
- var cd = "attachment; filename=";
43
+ let prop = "content-disposition";
44
+ let cd = "attachment; filename=";
47
45
  if ((headers === null || headers === void 0 ? void 0 : headers[prop]) && headers[prop].indexOf(cd) === 0) {
48
46
  filename = substr(headers[prop], cd.length + 1, headers[prop].length - cd.length - 2);
49
47
  }
@@ -52,8 +50,8 @@ export default function download(url, filename, params) {
52
50
  }
53
51
  }
54
52
  if (isBlob(d)) {
55
- var extension = fileExt(filename);
56
- var htmlExtensions = ["php", "html"];
53
+ let extension = fileExt(filename);
54
+ let htmlExtensions = ["php", "html"];
57
55
  if (typeof filename === "string" &&
58
56
  (("type" in d && d.type !== "text/html") ||
59
57
  htmlExtensions.includes(extension))) {
@@ -61,7 +59,7 @@ export default function download(url, filename, params) {
61
59
  return;
62
60
  }
63
61
  }
64
- }, function (e) {
62
+ }, (e) => {
65
63
  bbn.fn.defaultAjaxErrorFunction(e);
66
64
  });
67
65
  }
@@ -28,12 +28,11 @@ import log from '../browser/log.js';
28
28
  *
29
29
  * @returns {undefined}
30
30
  */
31
- export default function downloadContent(filename, content, type) {
32
- if (type === void 0) { type = null; }
31
+ export default function downloadContent(filename, content, type = null) {
33
32
  if (isCanvas(content)) {
34
- content.toBlob(function (blob) {
33
+ content.toBlob((blob) => {
35
34
  // blob ready, download it
36
- var a = document.createElement('a');
35
+ let a = document.createElement('a');
37
36
  a.download = filename;
38
37
  a.href = window.URL.createObjectURL(blob);
39
38
  a.className = 'bbn-no';
@@ -49,9 +48,9 @@ export default function downloadContent(filename, content, type) {
49
48
  else if (type.indexOf('/') === -1) {
50
49
  type = 'text/' + type;
51
50
  }
52
- var a = window.document.createElement('a');
51
+ let a = window.document.createElement('a');
53
52
  a.className = 'bbn-no';
54
- var src = null;
53
+ let src = null;
55
54
  if (isString(content)) {
56
55
  src = new Blob([content], { type: type });
57
56
  }
@@ -35,7 +35,7 @@ import search from '../object/search.js';
35
35
  * @returns {null|Object} The corresponding loader Object if it exists, false otherwise
36
36
  */
37
37
  export default function getLoader(requestId) {
38
- var idx = search(bbn.env.loaders, { key: requestId });
38
+ let idx = search(bbn.env.loaders, { key: requestId });
39
39
  if (idx > -1) {
40
40
  return bbn.env.loaders[idx];
41
41
  }
@@ -49,9 +49,9 @@ import md5 from '../string/md5.js';
49
49
  * @returns {String} The unique ID
50
50
  */
51
51
  export default function getRequestId(url, data, datatype) {
52
- var d = {};
52
+ let d = {};
53
53
  if (data) {
54
- iterate(data, function (a, n) {
54
+ iterate(data, (a, n) => {
55
55
  if (n.indexOf('_bbn') === -1) {
56
56
  d[n] = a;
57
57
  }
@@ -30,13 +30,9 @@ import setNavigationVars from './setNavigationVars.js';
30
30
  *
31
31
  * @returns
32
32
  */
33
- export default function link() {
34
- var args = [];
35
- for (var _i = 0; _i < arguments.length; _i++) {
36
- args[_i] = arguments[_i];
37
- }
38
- var cfg = treatAjaxArguments(args);
39
- var ok = 1;
33
+ export default function link(...args) {
34
+ let cfg = treatAjaxArguments(args);
35
+ let ok = 1;
40
36
  if (cfg === true) {
41
37
  return true;
42
38
  }
@@ -67,7 +63,7 @@ export default function link() {
67
63
  /* Mail link */
68
64
  bbn.env.ignoreUnload = true;
69
65
  window.location.href = cfg.url;
70
- setTimeout(function () {
66
+ setTimeout(() => {
71
67
  bbn.env.ignoreUnload = false;
72
68
  }, 0);
73
69
  return false;
@@ -91,7 +87,7 @@ export default function link() {
91
87
  ok = cfg.successFn(cfg.url);
92
88
  }
93
89
  else if (bbn.fn.defaultPreLinkFunction) {
94
- var tmp = bbn.fn.defaultPreLinkFunction(cfg.url, cfg.force, cfg.ele);
90
+ let tmp = bbn.fn.defaultPreLinkFunction(cfg.url, cfg.force, cfg.ele);
95
91
  if (tmp.data !== undefined) {
96
92
  extend(cfg.obj, tmp.data);
97
93
  ok = 1;
@@ -105,15 +101,15 @@ export default function link() {
105
101
  cfg.url = ok;
106
102
  }
107
103
  /** todo Do we keep obj in the unique string or do we make that only one concurrent connection to the same address can occur at the same time? */
108
- var errSt_1 = bbn._('The Ajax call to') + ' ' + cfg.url + ' ';
109
- return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {
104
+ let errSt = bbn._('The Ajax call to') + ' ' + cfg.url + ' ';
105
+ return ajax(cfg.url, cfg.datatype, cfg.obj, res => {
110
106
  if (!res) {
111
- log(errSt_1 + bbn._('returned no answer'));
107
+ log(errSt + bbn._('returned no answer'));
112
108
  }
113
109
  if (isObject(res)) {
114
110
  // If there's nothing in the result, just an empty object, the callback stops here and the URL is not changed
115
111
  if (Object.keys(res).length === 0) {
116
- log(errSt_1 + bbn._('returned an empty object'));
112
+ log(errSt + bbn._('returned an empty object'));
117
113
  }
118
114
  if (res.new_url) {
119
115
  res.old_path = cfg.url;
@@ -34,14 +34,10 @@ import callback from './callback.js';
34
34
  *
35
35
  * @returns {undefined|Promise}
36
36
  */
37
- export default function post() {
38
- var args = [];
39
- for (var _i = 0; _i < arguments.length; _i++) {
40
- args[_i] = arguments[_i];
41
- }
42
- var cfg = treatAjaxArguments(args);
37
+ export default function post(...args) {
38
+ let cfg = treatAjaxArguments(args);
43
39
  if (cfg.url) {
44
- return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {
40
+ return ajax(cfg.url, cfg.datatype, cfg.obj, (res) => {
45
41
  callback(cfg.url, res, cfg.successFn, cfg.errorFn, cfg.ele);
46
42
  }, cfg.errorFn, cfg.abortFn);
47
43
  }
@@ -20,10 +20,8 @@ import setProperty from '../object/setProperty.js';
20
20
  *
21
21
  * @returns {void}
22
22
  */
23
- export default function postOut(url, data, success, target) {
24
- if (success === void 0) { success = null; }
25
- if (target === void 0) { target = ""; }
26
- var form = document.body.querySelector("form#bbn-form_out");
23
+ export default function postOut(url, data, success = null, target = "") {
24
+ let form = document.body.querySelector("form#bbn-form_out");
27
25
  if (!form) {
28
26
  form = document.createElement("form");
29
27
  form.classList.add("bbn-no");
@@ -24,9 +24,7 @@ import html2text from '../html/html2text.js';
24
24
  *
25
25
  * @returns {void}
26
26
  */
27
- export default function setNavigationVars(url, title, data, repl) {
28
- if (data === void 0) { data = null; }
29
- if (repl === void 0) { repl = false; }
27
+ export default function setNavigationVars(url, title, data = null, repl = false) {
30
28
  // Current path becomes old path
31
29
  bbn.env.old_path = bbn.env.path;
32
30
  // URL includes the domain
@@ -34,14 +32,14 @@ export default function setNavigationVars(url, title, data, repl) {
34
32
  // Path does not
35
33
  bbn.env.path = substr(bbn.env.url, bbn.env.root.length);
36
34
  // Params will include each part of the URL
37
- bbn.env.params = bbn.env.path.split('/').filter(function (v) { return v !== ''; });
35
+ bbn.env.params = bbn.env.path.split('/').filter(v => v !== '');
38
36
  // Managing history
39
- var h = window.history;
37
+ let h = window.history;
40
38
  if (h) {
41
39
  // Current state
42
- var state = h.state;
40
+ let state = h.state;
43
41
  // Future state
44
- var obj = {
42
+ let obj = {
45
43
  url: bbn.env.path,
46
44
  old_path: bbn.env.old_path || null,
47
45
  data: data || {},
@@ -22,10 +22,10 @@ import arrayBuffer2String from '../convert/arrayBuffer2String.js';
22
22
  *
23
23
  * @returns {Promise} The Promise created by the generated XHR.
24
24
  */
25
- var boundary = '\n';
25
+ const boundary = '\n';
26
26
  export default function stream(url, success, data, failure, abort, finished) {
27
- var requestId = getRequestId(url, data, 'json');
28
- var loaderObj = getLoader(requestId);
27
+ const requestId = getRequestId(url, data, 'json');
28
+ const loaderObj = getLoader(requestId);
29
29
  //log("IN AJAX", loaderObj? loaderObj.loader : "NO LOADER")
30
30
  if (loaderObj === null || loaderObj === void 0 ? void 0 : loaderObj.loader) {
31
31
  return loaderObj.loader;
@@ -36,9 +36,9 @@ export default function stream(url, success, data, failure, abort, finished) {
36
36
  if (bbn.env.token) {
37
37
  data._bbn_token = bbn.env.token;
38
38
  }
39
- var aborter = new AbortController();
40
- var json = '';
41
- var treatJSON = function (json) {
39
+ const aborter = new AbortController();
40
+ let json = '';
41
+ const treatJSON = (json) => {
42
42
  if (json.length) {
43
43
  if (json.indexOf(boundary) > -1) {
44
44
  json = bbn.fn.removeEmpty(json.split(boundary));
@@ -46,7 +46,7 @@ export default function stream(url, success, data, failure, abort, finished) {
46
46
  else {
47
47
  json = [json];
48
48
  }
49
- for (var i in json) {
49
+ for (let i in json) {
50
50
  try {
51
51
  success(JSON.parse(json[i]));
52
52
  }
@@ -56,8 +56,8 @@ export default function stream(url, success, data, failure, abort, finished) {
56
56
  }
57
57
  }
58
58
  };
59
- var chrono = bbn.fn.startChrono();
60
- var loader = fetch(url, {
59
+ const chrono = bbn.fn.startChrono();
60
+ const loader = fetch(url, {
61
61
  method: 'POST', // *GET, POST, PUT, DELETE, etc.
62
62
  mode: 'cors', // no-cors, *cors, same-origin
63
63
  cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
@@ -71,13 +71,12 @@ export default function stream(url, success, data, failure, abort, finished) {
71
71
  signal: aborter.signal,
72
72
  body: JSON.stringify(data || {}) // body data type must match "Content-Type" header
73
73
  })
74
- .then(function (response) {
74
+ .then(response => {
75
75
  bbn.fn.log("RESPONSE IN " + bbn.fn.stopChrono(chrono, true) + " SECS");
76
76
  if (response.body) {
77
- var reader_1 = response.body.getReader();
78
- var isFn_1 = isFunction(success);
79
- reader_1.read().then(function pump(_a) {
80
- var done = _a.done, value = _a.value;
77
+ const reader = response.body.getReader();
78
+ const isFn = isFunction(success);
79
+ reader.read().then(function pump({ done, value }) {
81
80
  if (done) {
82
81
  // Do something with last chunk of data then exit reader
83
82
  _deleteLoader(requestId, data);
@@ -89,7 +88,7 @@ export default function stream(url, success, data, failure, abort, finished) {
89
88
  }
90
89
  return;
91
90
  }
92
- if (isFn_1) {
91
+ if (isFn) {
93
92
  json += arrayBuffer2String(value).trim();
94
93
  bbn.fn.log(["STREAM RESULT", json.length, json]);
95
94
  if (json) {
@@ -104,19 +103,19 @@ export default function stream(url, success, data, failure, abort, finished) {
104
103
  }
105
104
  }
106
105
  else {
107
- bbn.fn.log(["STREAM SUCCESS IS FN? " + isFn_1]);
106
+ bbn.fn.log(["STREAM SUCCESS IS FN? " + isFn]);
108
107
  }
109
108
  // Read some more, and call this function again
110
- return reader_1.read().then(pump);
109
+ return reader.read().then(pump);
111
110
  });
112
111
  }
113
112
  })
114
- .catch(function (err) {
115
- var isAbort = axios.isCancel(err);
113
+ .catch((err) => {
114
+ let isAbort = axios.isCancel(err);
116
115
  _deleteLoader(requestId, data, isAbort);
117
116
  defaultEndLoadingFunction(url, tst, data, err);
118
117
  if (isAbort) {
119
- var ok = 1;
118
+ let ok = 1;
120
119
  if (isFunction(abort)) {
121
120
  ok = abort(err.message, url);
122
121
  }
@@ -125,7 +124,7 @@ export default function stream(url, success, data, failure, abort, finished) {
125
124
  }
126
125
  }
127
126
  else {
128
- var ok = 1;
127
+ let ok = 1;
129
128
  if (isFunction(failure)) {
130
129
  ok = failure(err.request, err);
131
130
  }
@@ -134,7 +133,7 @@ export default function stream(url, success, data, failure, abort, finished) {
134
133
  }
135
134
  }
136
135
  });
137
- var tst = _addLoader(requestId, loader, aborter);
136
+ let tst = _addLoader(requestId, loader, aborter);
138
137
  defaultStartLoadingFunction(url, tst, data, requestId);
139
138
  return loader;
140
139
  }
@@ -54,9 +54,9 @@ import numProperties from '../object/numProperties.js';
54
54
  * @returns {Object} The configuration object
55
55
  */
56
56
  export default function treatAjaxArguments(args) {
57
- var cfg = {};
58
- var t;
59
- var i;
57
+ let cfg = {};
58
+ let t;
59
+ let i;
60
60
  if (isObject(args[0]) && args.length === 1) {
61
61
  return args[0];
62
62
  }
@@ -16,18 +16,15 @@ import log from '../browser/log.js';
16
16
  *
17
17
  * @returns {Promise}
18
18
  */
19
- export default function upload(url, file, success, failure, progress) {
20
- if (success === void 0) { success = null; }
21
- if (failure === void 0) { failure = null; }
22
- if (progress === void 0) { progress = null; }
23
- var fn = function () {
19
+ export default function upload(url, file, success = null, failure = null, progress = null) {
20
+ let fn = () => {
24
21
  return axios.post(url || bbn.env.path, objectToFormData(file), {
25
22
  headers: {
26
23
  'Content-Type': 'multipart/form-data',
27
24
  },
28
- onUploadProgress: function (progressEvent) {
25
+ onUploadProgress(progressEvent) {
29
26
  if (progress) {
30
- var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
27
+ let percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
31
28
  progress(percentCompleted, progressEvent.loaded, progressEvent.total);
32
29
  }
33
30
  },
@@ -38,13 +35,13 @@ export default function upload(url, file, success, failure, progress) {
38
35
  }
39
36
  else {
40
37
  return fn()
41
- .then(function (res) {
38
+ .then((res) => {
42
39
  if (success) {
43
40
  log('SUCCESS', res);
44
41
  success(res);
45
42
  }
46
43
  })
47
- .catch(function (err) {
44
+ .catch((err) => {
48
45
  if (failure) {
49
46
  log('ERROR', err);
50
47
  failure(err);
@@ -13,11 +13,10 @@ import isFunction from '../type/isFunction.js';
13
13
  * @param {String} st The string to copy.
14
14
  * @returns
15
15
  */
16
- var fire = function (st, type) {
17
- if (type === void 0) { type = 'text/plain'; }
18
- var transfer = new DataTransfer();
16
+ const fire = (st, type = 'text/plain') => {
17
+ const transfer = new DataTransfer();
19
18
  transfer.setData(type, st);
20
- var copyEvent = new ClipboardEvent('copy', {
19
+ const copyEvent = new ClipboardEvent('copy', {
21
20
  bubbles: true,
22
21
  cancelable: true,
23
22
  clipboardData: transfer
@@ -25,12 +24,11 @@ var fire = function (st, type) {
25
24
  document.dispatchEvent(copyEvent);
26
25
  };
27
26
  export default function copy(st, noDispatch) {
28
- return new Promise(function (resolve) {
29
- var _a;
27
+ return new Promise((resolve) => {
30
28
  if (st) {
31
29
  if (navigator && navigator.clipboard) {
32
30
  if (st instanceof Blob) {
33
- navigator.clipboard.write([new ClipboardItem((_a = {}, _a[st.type.toString()] = st, _a))]).then(function () {
31
+ navigator.clipboard.write([new ClipboardItem({ [st.type.toString()]: st })]).then(() => {
34
32
  resolve(true);
35
33
  });
36
34
  if (!noDispatch) {
@@ -38,10 +36,9 @@ export default function copy(st, noDispatch) {
38
36
  }
39
37
  }
40
38
  else if (isObject(st) && isFunction(st.toBlob)) {
41
- st.toBlob(function (blob) {
42
- var _a;
43
- var item = new ClipboardItem((_a = {}, _a[blob.type.toString()] = blob, _a));
44
- navigator.clipboard.write([item]).then(function () {
39
+ st.toBlob((blob) => {
40
+ const item = new ClipboardItem({ [blob.type.toString()]: blob });
41
+ navigator.clipboard.write([item]).then(() => {
45
42
  if (!noDispatch) {
46
43
  fire(st, blob.type.toString());
47
44
  }
@@ -58,7 +55,7 @@ export default function copy(st, noDispatch) {
58
55
  }
59
56
  return;
60
57
  }
61
- var input = document.createElement('textarea');
58
+ let input = document.createElement('textarea');
62
59
  input.style.opacity = '0';
63
60
  input.value = st;
64
61
  document.body.appendChild(input);