@formixru/b2b-ui 2.0.0 → 2.0.1

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.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v2.0.1
2
+
3
+ - Исправлена работа `Request`
4
+ - Исправлена работа `cssVar`
5
+
1
6
  ## v2.0.0
2
7
 
3
8
  - Добавлен новый компонент - универсальный AJAX-контроллер `Request`, который используется внутри `Dialog`/`Form`/`Sidebar` и может использоваться как отдельный компонент
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formixru/b2b-ui",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -42,7 +42,7 @@ export const init = ($b) => {
42
42
  };
43
43
 
44
44
  export const show = async ($b) => {
45
- if ($b && $b.hidden) {
45
+ if ($b?.hidden) {
46
46
  $b.dispatchEvent(new CustomEvent('dialog-show'));
47
47
 
48
48
  disableScroll();
@@ -44,11 +44,15 @@ export const request = async ({ $b, url = '', method = 'GET', data = {}, loader
44
44
  if (!response.ok) {
45
45
  throw response;
46
46
  }
47
- const data = await response.json().catch(async () => {
47
+
48
+ const raw = await response.text();
49
+ let data;
50
+ try {
51
+ data = JSON.parse(raw);
52
+ } catch {
48
53
  console.warn('Ошибка при попытке преобразования ответа в JSON');
49
- const content = await response.text();
50
- return { content };
51
- });
54
+ data = { content: raw };
55
+ }
52
56
 
53
57
  if (is(data.redirect, 'String')) {
54
58
  if (data.redirect) {
@@ -65,7 +69,7 @@ export const request = async ({ $b, url = '', method = 'GET', data = {}, loader
65
69
  }
66
70
  } else {
67
71
  try {
68
- await window.__FORMIX__REQ__INTERCEPT_DATA(data);
72
+ await window.__FORMIX__REQUEST__INTERCEPT_DATA(data);
69
73
  } catch {
70
74
  console.warn('Функция __FORMIX__REQUEST__INTERCEPT_DATA не установлена');
71
75
  }
@@ -1,8 +1,9 @@
1
1
  export const cssVar = (name, element = document.documentElement) => {
2
2
  const value = window.getComputedStyle(element).getPropertyValue(name);
3
- const durationRegExp = new RegExp(/(^[\d.]+)s$/);
3
+ const durationRegExp = /(^[\d.]+)(ms|s)$/;
4
4
  if (durationRegExp.test(value)) {
5
- return durationRegExp.exec(value)[1] * 1000;
5
+ const [, numericValue, unit] = durationRegExp.exec(value);
6
+ return unit === 's' ? numericValue * 1000 : Number(numericValue);
6
7
  }
7
8
  return value;
8
9
  };