@beinformed/ui 1.13.0 → 1.13.4
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 +26 -0
- package/esm/builder/mergeLayoutHintConfigurations.js +3 -3
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/LayoutHintConfig.js +9 -0
- package/esm/constants/LayoutHintConfig.js.map +1 -1
- package/esm/constants/LayoutHints.js +5 -0
- package/esm/constants/LayoutHints.js.map +1 -1
- package/esm/constants/Settings.js +2 -1
- package/esm/constants/Settings.js.map +1 -1
- package/esm/hooks/useContent.js +2 -2
- package/esm/hooks/useContent.js.map +1 -1
- package/esm/hooks/useDeepCompareEffect.js +2 -1
- package/esm/hooks/useDeepCompareEffect.js.map +1 -1
- package/esm/hooks/useForm.js.map +1 -1
- package/esm/hooks/useModal.js +2 -2
- package/esm/hooks/useModal.js.map +1 -1
- package/esm/hooks/useModularUI.js +0 -1
- package/esm/hooks/useModularUI.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js +8 -3
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js +2 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js +38 -0
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js +14 -2
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js +16 -69
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +69 -47
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/utils/browser/Cookies.js +18 -32
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/fetch/xhr.js +4 -2
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/lib/builder/mergeLayoutHintConfigurations.js +3 -3
- package/lib/builder/mergeLayoutHintConfigurations.js.flow +3 -3
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/LayoutHintConfig.js +9 -0
- package/lib/constants/LayoutHintConfig.js.flow +9 -0
- package/lib/constants/LayoutHintConfig.js.map +1 -1
- package/lib/constants/LayoutHints.js +8 -2
- package/lib/constants/LayoutHints.js.flow +4 -0
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js +2 -1
- package/lib/constants/Settings.js.flow +2 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/hooks/useContent.js +2 -2
- package/lib/hooks/useContent.js.flow +2 -2
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js +2 -1
- package/lib/hooks/useDeepCompareEffect.js.flow +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.flow +1 -2
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useModal.js +2 -2
- package/lib/hooks/useModal.js.flow +1 -1
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModularUI.js +0 -1
- package/lib/hooks/useModularUI.js.flow +0 -2
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js +9 -3
- package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -4
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +1 -1
- package/lib/models/base/__tests__/BaseModel.spec.js.flow +5 -5
- package/lib/models/caseview/CaseViewModel.js +3 -1
- package/lib/models/caseview/CaseViewModel.js.flow +3 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/caseview/__tests__/CaseViewModel.spec.js.flow +38 -1
- package/lib/models/list/ListItemCollection.js +40 -0
- package/lib/models/list/ListItemCollection.js.flow +38 -1
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js +14 -2
- package/lib/models/list/ListItemModel.js.flow +15 -0
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js +15 -70
- package/lib/models/list/ListModel.js.flow +1 -45
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/list/__tests__/ListItemCollection.spec.js.flow +22 -0
- package/lib/models/list/__tests__/ListModel.spec.js.flow +0 -2
- package/lib/models/panels/__tests__/GroupingPanelModel.spec.js.flow +38 -21
- package/lib/models/process/__tests__/ProcessStatusSettingsModel.spec.js.flow +11 -0
- package/lib/modularui/ModularUIRequest.js +67 -47
- package/lib/modularui/ModularUIRequest.js.flow +38 -22
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/utils/browser/Cookies.js +18 -31
- package/lib/utils/browser/Cookies.js.flow +22 -28
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/browser/__tests__/Cookies.spec.js.flow +51 -0
- package/lib/utils/fetch/xhr.js +5 -2
- package/lib/utils/fetch/xhr.js.flow +6 -2
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/package.json +30 -28
- package/src/builder/mergeLayoutHintConfigurations.js +3 -3
- package/src/constants/LayoutHintConfig.js +9 -0
- package/src/constants/LayoutHints.js +4 -0
- package/src/constants/Settings.js +2 -0
- package/src/hooks/useContent.js +2 -2
- package/src/hooks/useDeepCompareEffect.js +1 -1
- package/src/hooks/useForm.js +1 -2
- package/src/hooks/useModal.js +1 -1
- package/src/hooks/useModularUI.js +0 -2
- package/src/models/attributes/DatetimeAttributeModel.js +7 -4
- package/src/models/attributes/__tests__/StringAttributeModel.spec.js +1 -1
- package/src/models/base/__tests__/BaseModel.spec.js +5 -5
- package/src/models/caseview/CaseViewModel.js +3 -1
- package/src/models/caseview/__tests__/CaseViewModel.spec.js +38 -1
- package/src/models/caseview/__tests__/caseview.json +14 -3
- package/src/models/caseview/__tests__/caseviewContributions.json +48 -77
- package/src/models/caseview/__tests__/caseview_local_taskgroup.json +57 -0
- package/src/models/list/ListItemCollection.js +38 -1
- package/src/models/list/ListItemModel.js +15 -0
- package/src/models/list/ListModel.js +1 -45
- package/src/models/list/__tests__/ListItemCollection.spec.js +22 -0
- package/src/models/list/__tests__/ListModel.spec.js +0 -2
- package/src/models/panels/__tests__/GroupingPanelModel.spec.js +38 -21
- package/src/models/panels/__tests__/groupingPanel.json +20 -1
- package/src/models/panels/__tests__/groupingPanelContributions.json +14 -1
- package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +11 -0
- package/src/modularui/ModularUIRequest.js +38 -22
- package/src/utils/browser/Cookies.js +22 -28
- package/src/utils/browser/__tests__/Cookies.spec.js +51 -0
- package/src/utils/fetch/xhr.js +6 -2
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// @flow
|
|
2
|
+
import Cookies from "js-cookie";
|
|
3
|
+
|
|
2
4
|
import { BASE } from "../../constants/Constants";
|
|
3
5
|
|
|
4
6
|
type CookieOptions = {
|
|
@@ -7,18 +9,17 @@ type CookieOptions = {
|
|
|
7
9
|
secure?: boolean,
|
|
8
10
|
};
|
|
9
11
|
|
|
12
|
+
type CookieAttributes = {
|
|
13
|
+
path: string,
|
|
14
|
+
expires?: number,
|
|
15
|
+
sameSite?: string,
|
|
16
|
+
secure?: boolean,
|
|
17
|
+
};
|
|
18
|
+
|
|
10
19
|
/**
|
|
11
20
|
*/
|
|
12
21
|
const getCookie = (name: string): null | string => {
|
|
13
|
-
|
|
14
|
-
const value = `;${document.cookie}`;
|
|
15
|
-
const parts = value.split(`; ${name}=`);
|
|
16
|
-
if (parts.length === 2) {
|
|
17
|
-
return parts.pop().split(";").shift();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return null;
|
|
22
|
+
return Cookies.get(name);
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
/**
|
|
@@ -28,31 +29,24 @@ const setCookie = (
|
|
|
28
29
|
value: any,
|
|
29
30
|
{ days, sameSite = "Strict", secure }: CookieOptions = {}
|
|
30
31
|
) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
let sameSitePart = "";
|
|
41
|
-
if (sameSite) {
|
|
42
|
-
sameSitePart = `; SameSite=${sameSite}`;
|
|
43
|
-
}
|
|
44
|
-
const securePart = secure ? "Secure" : "";
|
|
45
|
-
|
|
46
|
-
document.cookie = `${valuePart}${expires}${sameSitePart}${securePart}; path=${BASE}`;
|
|
32
|
+
const attributes: CookieAttributes = { path: BASE };
|
|
33
|
+
if (days) {
|
|
34
|
+
attributes.expires = days;
|
|
35
|
+
}
|
|
36
|
+
if (sameSite) {
|
|
37
|
+
attributes.sameSite = sameSite;
|
|
38
|
+
}
|
|
39
|
+
if (secure) {
|
|
40
|
+
attributes.secure = secure;
|
|
47
41
|
}
|
|
42
|
+
|
|
43
|
+
Cookies.set(name, value, attributes);
|
|
48
44
|
};
|
|
49
45
|
|
|
50
46
|
/**
|
|
51
47
|
*/
|
|
52
48
|
const clearCookie = (name: string) => {
|
|
53
|
-
|
|
54
|
-
document.cookie = `${name}=; Max-Age=-99999999;`;
|
|
55
|
-
}
|
|
49
|
+
Cookies.remove(name, { path: BASE });
|
|
56
50
|
};
|
|
57
51
|
|
|
58
52
|
export { getCookie, setCookie, clearCookie };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { getCookie, setCookie, clearCookie } from "../Cookies";
|
|
2
|
+
|
|
3
|
+
describe("cookies util", () => {
|
|
4
|
+
beforeEach(() => {
|
|
5
|
+
Object.defineProperty(
|
|
6
|
+
window.document,
|
|
7
|
+
"cookie",
|
|
8
|
+
(function (cookies) {
|
|
9
|
+
return {
|
|
10
|
+
get: function _get() {
|
|
11
|
+
const output = [];
|
|
12
|
+
for (const cookieName in cookies) {
|
|
13
|
+
output.push(cookieName + "=" + cookies[cookieName]);
|
|
14
|
+
}
|
|
15
|
+
return output.join("; ");
|
|
16
|
+
},
|
|
17
|
+
set: function _set(s) {
|
|
18
|
+
const indexOfSeparator = s.indexOf("=");
|
|
19
|
+
const key = s.substr(0, indexOfSeparator);
|
|
20
|
+
const value = s.substring(indexOfSeparator + 1);
|
|
21
|
+
const valueWithoutAttributes = value.substr(0, value.indexOf(";"));
|
|
22
|
+
|
|
23
|
+
if (valueWithoutAttributes === "") {
|
|
24
|
+
delete cookies[key];
|
|
25
|
+
} else {
|
|
26
|
+
cookies[key] = value;
|
|
27
|
+
}
|
|
28
|
+
return key + "=" + value;
|
|
29
|
+
},
|
|
30
|
+
reset: function _reset() {
|
|
31
|
+
cookies = {};
|
|
32
|
+
},
|
|
33
|
+
configurable: true,
|
|
34
|
+
};
|
|
35
|
+
})({})
|
|
36
|
+
);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("should be able retrieve cookies by name", () => {
|
|
40
|
+
setCookie("newCookie", "test");
|
|
41
|
+
expect(getCookie("newCookie")).toBe("test");
|
|
42
|
+
|
|
43
|
+
setCookie("newCookie2", "test2");
|
|
44
|
+
expect(getCookie("newCookie")).toBe("test");
|
|
45
|
+
expect(getCookie("newCookie2")).toBe("test2");
|
|
46
|
+
|
|
47
|
+
clearCookie("newCookie2");
|
|
48
|
+
expect(getCookie("newCookie")).toBe("test");
|
|
49
|
+
expect(getCookie("newCookie2")).toBeUndefined();
|
|
50
|
+
});
|
|
51
|
+
});
|
package/src/utils/fetch/xhr.js
CHANGED
|
@@ -15,6 +15,8 @@ import Cache from "../browser/Cache";
|
|
|
15
15
|
|
|
16
16
|
import { HTTP_METHODS } from "../../constants/Constants";
|
|
17
17
|
|
|
18
|
+
import { getSetting } from "../../constants/Settings";
|
|
19
|
+
|
|
18
20
|
import type { RequestOptions } from "./types";
|
|
19
21
|
|
|
20
22
|
const NETWORK_ERROR_CODE = 0;
|
|
@@ -116,7 +118,7 @@ class XHR {
|
|
|
116
118
|
/**
|
|
117
119
|
*/
|
|
118
120
|
get timeout() {
|
|
119
|
-
return this.options.timeout || 300000;
|
|
121
|
+
return this.options.timeout || getSetting("XHR_TIMEOUT_MS", 300000);
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
/**
|
|
@@ -132,7 +134,9 @@ class XHR {
|
|
|
132
134
|
return this.options.onProgress;
|
|
133
135
|
}
|
|
134
136
|
|
|
135
|
-
return () => {
|
|
137
|
+
return () => {
|
|
138
|
+
// do nothing
|
|
139
|
+
};
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
/**
|