@elliemae/pui-app-sdk 4.4.2 → 4.5.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.
@@ -41,18 +41,16 @@ const handleFailure = (error) => {
41
41
  if (status === HTTP_UNAUTHORIZED && unAuthorizedFailureHandler && typeof unAuthorizedFailureHandler === "function") {
42
42
  return unAuthorizedFailureHandler(error).then((authorizationHeader) => {
43
43
  const { config } = error;
44
- if (config.headers)
45
- config.headers.Authorization = authorizationHeader;
44
+ if (!config)
45
+ throw error;
46
+ config.headers = {
47
+ ...config.headers,
48
+ Authorization: authorizationHeader
49
+ };
46
50
  return new Promise((resolve, reject) => {
47
- import_axios.default.request(config).then((response) => {
48
- resolve(response);
49
- }).catch((exception) => {
50
- reject(exception);
51
- });
51
+ import_axios.default.request(config).then(resolve).catch(reject);
52
52
  });
53
53
  }).catch((exception) => Promise.reject(exception));
54
54
  }
55
- return new Promise((resolve, reject) => {
56
- reject(error);
57
- });
55
+ return Promise.reject(error);
58
56
  };
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var session_exports = {};
20
20
  __export(session_exports, {
21
+ addEventListeners: () => addEventListeners,
21
22
  initSessionMonitoring: () => initSessionMonitoring,
22
23
  resetUserIdleTime: () => resetUserIdleTime,
23
24
  stopSessionMonitoring: () => stopSessionMonitoring,
@@ -62,6 +63,9 @@ const notifySessionExpiryWarning = () => {
62
63
  warnListeners.forEach(
63
64
  (listener) => listener(sessionExpiryWarningNotifiedAt)
64
65
  );
66
+ userInteractionEvents.forEach((eventType) => {
67
+ document.removeEventListener(eventType, throttledResetUserIdleTime);
68
+ });
65
69
  }).catch(() => {
66
70
  });
67
71
  };
@@ -91,10 +95,13 @@ const removeListeners = (arr, cb) => {
91
95
  arr.splice(idx, 1);
92
96
  }
93
97
  };
94
- const initSessionMonitoring = () => {
98
+ const addEventListeners = () => {
95
99
  userInteractionEvents.forEach((eventType) => {
96
100
  document.addEventListener(eventType, throttledResetUserIdleTime);
97
101
  });
102
+ };
103
+ const initSessionMonitoring = () => {
104
+ addEventListeners();
98
105
  timerHandle = setInterval(monitorSessionEvents, 1e3);
99
106
  };
100
107
  const subscribeToSessionExpiryWarning = (onSessionExpiryWarn) => {
@@ -41,6 +41,7 @@ const SessionExpiry = (0, import_react.memo)(
41
41
  const resetSession = () => {
42
42
  setIsOpen(false);
43
43
  (0, import_session.resetUserIdleTime)(true);
44
+ (0, import_session.addEventListeners)();
44
45
  dispatch(import_actions.logout.cancel());
45
46
  };
46
47
  const logoutSession = () => {
@@ -10,20 +10,18 @@ const handleFailure = (error) => {
10
10
  if (status === HTTP_UNAUTHORIZED && unAuthorizedFailureHandler && typeof unAuthorizedFailureHandler === "function") {
11
11
  return unAuthorizedFailureHandler(error).then((authorizationHeader) => {
12
12
  const { config } = error;
13
- if (config.headers)
14
- config.headers.Authorization = authorizationHeader;
13
+ if (!config)
14
+ throw error;
15
+ config.headers = {
16
+ ...config.headers,
17
+ Authorization: authorizationHeader
18
+ };
15
19
  return new Promise((resolve, reject) => {
16
- axios.request(config).then((response) => {
17
- resolve(response);
18
- }).catch((exception) => {
19
- reject(exception);
20
- });
20
+ axios.request(config).then(resolve).catch(reject);
21
21
  });
22
22
  }).catch((exception) => Promise.reject(exception));
23
23
  }
24
- return new Promise((resolve, reject) => {
25
- reject(error);
26
- });
24
+ return Promise.reject(error);
27
25
  };
28
26
  export {
29
27
  handleFailure,
@@ -33,6 +33,9 @@ const notifySessionExpiryWarning = () => {
33
33
  warnListeners.forEach(
34
34
  (listener) => listener(sessionExpiryWarningNotifiedAt)
35
35
  );
36
+ userInteractionEvents.forEach((eventType) => {
37
+ document.removeEventListener(eventType, throttledResetUserIdleTime);
38
+ });
36
39
  }).catch(() => {
37
40
  });
38
41
  };
@@ -62,10 +65,13 @@ const removeListeners = (arr, cb) => {
62
65
  arr.splice(idx, 1);
63
66
  }
64
67
  };
65
- const initSessionMonitoring = () => {
68
+ const addEventListeners = () => {
66
69
  userInteractionEvents.forEach((eventType) => {
67
70
  document.addEventListener(eventType, throttledResetUserIdleTime);
68
71
  });
72
+ };
73
+ const initSessionMonitoring = () => {
74
+ addEventListeners();
69
75
  timerHandle = setInterval(monitorSessionEvents, 1e3);
70
76
  };
71
77
  const subscribeToSessionExpiryWarning = (onSessionExpiryWarn) => {
@@ -96,6 +102,7 @@ const trackActivity = (element, cb) => {
96
102
  };
97
103
  };
98
104
  export {
105
+ addEventListeners,
99
106
  initSessionMonitoring,
100
107
  resetUserIdleTime,
101
108
  stopSessionMonitoring,
@@ -13,7 +13,10 @@ import {
13
13
  } from "@elliemae/ds-dialog";
14
14
  import { useAppDispatch } from "../../../data/react-redux.js";
15
15
  import { logout } from "../../../data/logout/actions.js";
16
- import { resetUserIdleTime } from "../../../utils/session.js";
16
+ import {
17
+ resetUserIdleTime,
18
+ addEventListeners
19
+ } from "../../../utils/session.js";
17
20
  import { useTrackSessionExpiry } from "./customHooks.js";
18
21
  const SessionExpiry = memo(
19
22
  ({ open, warningNotifiedAt = 0 }) => {
@@ -26,6 +29,7 @@ const SessionExpiry = memo(
26
29
  const resetSession = () => {
27
30
  setIsOpen(false);
28
31
  resetUserIdleTime(true);
32
+ addEventListeners();
29
33
  dispatch(logout.cancel());
30
34
  };
31
35
  const logoutSession = () => {
@@ -1,4 +1,5 @@
1
- import { AxiosInstance, AxiosRequestHeaders } from 'axios';
1
+ import { AxiosInstance, RawAxiosRequestHeaders, HeadersDefaults } from 'axios';
2
+ declare type AxiosRequestHeaders = RawAxiosRequestHeaders | Partial<HeadersDefaults>;
2
3
  declare type RequestConfig = {
3
4
  Authorization?: string;
4
5
  } & AxiosRequestHeaders;
@@ -20,7 +20,7 @@ export interface SDKAxiosRequestConfig extends AxiosRequestConfig {
20
20
  export interface SDKAxiosError extends AxiosError {
21
21
  config: SDKAxiosRequestConfig;
22
22
  }
23
- export interface SDKAxiosInstance extends AxiosInstance {
23
+ export interface SDKAxiosInstance extends Omit<AxiosInstance, 'defaults'> {
24
24
  defaults: SDKAxiosDefaults;
25
25
  }
26
26
  /**
@@ -33,7 +33,7 @@ export declare const createAppStore: (initialState: import("redux").CombinedStat
33
33
  } | import("redux").AnyAction | {
34
34
  payload: import("./breakpoint/index.js").Breakpoints;
35
35
  type: string;
36
- }, import("@reduxjs/toolkit").MiddlewareArray<[import("redux-thunk").ThunkMiddleware<import("redux").CombinedState<{
36
+ }, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ThunkMiddleware<import("redux").CombinedState<{
37
37
  waitMessage: import("./wait-message/reducer.js").WaitMessageState;
38
38
  error: import("./error/index.js").ErrorState;
39
39
  breakpoint: import("./breakpoint/index.js").BreakpointState;
@@ -9,6 +9,7 @@ declare type LISTENER = {
9
9
  };
10
10
  export declare const resetUserIdleTime: (resetWarningModal?: unknown) => void;
11
11
  export declare const stopSessionMonitoring: () => void;
12
+ export declare const addEventListeners: () => void;
12
13
  export declare const initSessionMonitoring: () => void;
13
14
  export declare const subscribeToSessionExpiryWarning: (onSessionExpiryWarn: WARNLISTENER) => () => void;
14
15
  export declare const subscribeToSessionExpiry: (onSessionExpiry: LISTENER) => () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/pui-app-sdk",
3
- "version": "4.4.2",
3
+ "version": "4.5.1",
4
4
  "description": "ICE MT UI Platform Application SDK ",
5
5
  "sideEffects": [
6
6
  "*.css",
@@ -111,50 +111,50 @@
111
111
  "indent": 4
112
112
  },
113
113
  "peerDependencies": {
114
- "@elliemae/app-react-dependencies": "^4.0.0",
115
- "@elliemae/ds-basic": "^3.10.2",
116
- "@elliemae/ds-button": "^3.10.2",
117
- "@elliemae/ds-controlled-form": "^3.10.2",
118
- "@elliemae/ds-date-picker": "^3.10.2",
119
- "@elliemae/ds-date-range-picker": "^3.10.2",
120
- "@elliemae/ds-dialog": "^3.10.2",
121
- "@elliemae/ds-form": "^3.10.2",
122
- "@elliemae/ds-form-layout-blocks": "^3.10.2",
123
- "@elliemae/ds-grid": "^3.10.2",
124
- "@elliemae/ds-loading-indicator": "^3.10.2",
125
- "@elliemae/ds-modal": "^3.10.2",
126
- "@elliemae/ds-popperjs": "^3.10.2",
127
- "@elliemae/ds-toast": "^3.10.2",
114
+ "@elliemae/app-react-dependencies": "^4.1.0",
115
+ "@elliemae/ds-basic": "^3.10.7",
116
+ "@elliemae/ds-button": "^3.10.7",
117
+ "@elliemae/ds-controlled-form": "^3.10.7",
118
+ "@elliemae/ds-date-picker": "^3.10.7",
119
+ "@elliemae/ds-date-range-picker": "^3.10.7",
120
+ "@elliemae/ds-dialog": "^3.10.7",
121
+ "@elliemae/ds-form": "^3.10.7",
122
+ "@elliemae/ds-form-layout-blocks": "^3.10.7",
123
+ "@elliemae/ds-grid": "^3.10.7",
124
+ "@elliemae/ds-loading-indicator": "^3.10.7",
125
+ "@elliemae/ds-modal": "^3.10.7",
126
+ "@elliemae/ds-popperjs": "^3.10.7",
127
+ "@elliemae/ds-toast": "^3.10.7",
128
128
  "@elliemae/em-ssf-guest": "^1.11.2",
129
129
  "@elliemae/pui-diagnostics": "^2.7.4",
130
130
  "@elliemae/pui-micro-frontend-base": "^1.14.0",
131
- "@elliemae/pui-scripting-object": "^1.10.1",
131
+ "@elliemae/pui-scripting-object": "^1.12.0",
132
132
  "@elliemae/pui-theme": "^2.6.0",
133
133
  "@elliemae/pui-user-monitoring": "^1.16.0"
134
134
  },
135
135
  "devDependencies": {
136
- "@elliemae/app-react-dependencies": "~4.0.0",
136
+ "@elliemae/app-react-dependencies": "~4.1.0",
137
137
  "@elliemae/browserslist-config-elliemae-latest-browsers": "~1.5.0",
138
- "@elliemae/ds-basic": "~3.10.2",
139
- "@elliemae/ds-button": "~3.10.2",
140
- "@elliemae/ds-controlled-form": "~3.10.2",
141
- "@elliemae/ds-date-picker": "~3.10.2",
142
- "@elliemae/ds-date-range-picker": "~3.10.2",
143
- "@elliemae/ds-dialog": "~3.10.2",
144
- "@elliemae/ds-form": "~3.10.2",
145
- "@elliemae/ds-form-layout-blocks": "~3.10.2",
146
- "@elliemae/ds-grid": "~3.10.2",
147
- "@elliemae/ds-loading-indicator": "~3.10.2",
148
- "@elliemae/ds-modal": "~3.10.2",
149
- "@elliemae/ds-popperjs": "~3.10.2",
150
- "@elliemae/ds-toast": "~3.10.2",
138
+ "@elliemae/ds-basic": "~3.10.7",
139
+ "@elliemae/ds-button": "~3.10.7",
140
+ "@elliemae/ds-controlled-form": "~3.10.7",
141
+ "@elliemae/ds-date-picker": "~3.10.7",
142
+ "@elliemae/ds-date-range-picker": "~3.10.7",
143
+ "@elliemae/ds-dialog": "~3.10.7",
144
+ "@elliemae/ds-form": "~3.10.7",
145
+ "@elliemae/ds-form-layout-blocks": "~3.10.7",
146
+ "@elliemae/ds-grid": "~3.10.7",
147
+ "@elliemae/ds-loading-indicator": "~3.10.7",
148
+ "@elliemae/ds-modal": "~3.10.7",
149
+ "@elliemae/ds-popperjs": "~3.10.7",
150
+ "@elliemae/ds-toast": "~3.10.7",
151
151
  "@elliemae/em-ssf-guest": "~1.11.2",
152
- "@elliemae/pui-cli": "~7.10.3",
152
+ "@elliemae/pui-cli": "~7.12.1",
153
153
  "@elliemae/pui-diagnostics": "~2.7.4",
154
154
  "@elliemae/pui-doc-gen": "~1.3.0",
155
155
  "@elliemae/pui-e2e-test-sdk": "~7.5.0",
156
156
  "@elliemae/pui-micro-frontend-base": "~1.14.0",
157
- "@elliemae/pui-scripting-object": "~1.11.0",
157
+ "@elliemae/pui-scripting-object": "~1.12.0",
158
158
  "@elliemae/pui-theme": "~2.6.0",
159
159
  "@elliemae/pui-user-monitoring": "~1.16.0"
160
160
  }