@elliemae/pui-scripting-object 1.16.0 → 1.16.2

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.
@@ -6,12 +6,12 @@ export declare type Listener<SO extends IScriptingObjectProxy, Params extends Re
6
6
  obj: SO;
7
7
  eventName: string;
8
8
  eventParams: Params;
9
- eventOptions: Options;
9
+ eventOptions?: Options;
10
10
  }) => ReturnType;
11
11
  /**
12
12
  * base class for events
13
13
  */
14
- export interface IEvent<SO extends IScriptingObjectProxy, Params extends Record<string, unknown>, Options extends Record<string, unknown>, ReturnType> {
14
+ export interface IEvent {
15
15
  /**
16
16
  * name of the event
17
17
  */
@@ -27,7 +27,7 @@ export interface IEvent<SO extends IScriptingObjectProxy, Params extends Record<
27
27
  /**
28
28
  * parameters associated with the event
29
29
  */
30
- readonly params: Params;
30
+ readonly params: Record<string, unknown>;
31
31
  /**
32
32
  * scripting object from where the event was triggered
33
33
  */
@@ -35,7 +35,7 @@ export interface IEvent<SO extends IScriptingObjectProxy, Params extends Record<
35
35
  /**
36
36
  * subscribe to the event
37
37
  */
38
- subscribe: (callback: Listener<SO, Params, Options, ReturnType>) => string;
38
+ subscribe: (callback: Listener<IScriptingObject, Record<string, unknown>, Record<string, unknown>, any>) => string;
39
39
  /**
40
40
  * unsubscribe from the event
41
41
  */
@@ -1,4 +1,4 @@
1
- import { IEvent } from '../event.js';
1
+ import { IEvent, Listener } from '../event.js';
2
2
  import { IScriptingObject } from '../scriptingObject.js';
3
3
  /**
4
4
  * Log levels
@@ -110,12 +110,26 @@ export declare type PrintOptions = {
110
110
  */
111
111
  blob: Blob;
112
112
  };
113
+ declare type UserInfo = {
114
+ /**
115
+ * user id
116
+ */
117
+ userId: string;
118
+ };
119
+ declare type ActionInfo = {
120
+ /**
121
+ * name of the action
122
+ */
123
+ name: string;
124
+ };
125
+ /**
126
+ * event handler that handles user login event
127
+ */
128
+ export declare type ApplicationLoginListener = Listener<IApplication, UserInfo, Record<string, unknown>, void>;
113
129
  /**
114
130
  * event fired when the user logs in
115
131
  */
116
- export interface IApplicationLoginEvent extends IEvent<IApplication, {
117
- userId: string;
118
- }, Record<string, unknown>, void> {
132
+ export interface IApplicationLoginEvent extends IEvent {
119
133
  /**
120
134
  * event name
121
135
  */
@@ -128,13 +142,23 @@ export interface IApplicationLoginEvent extends IEvent<IApplication, {
128
142
  * event does not require feedback from listeners
129
143
  */
130
144
  readonly requiresFeedback: false;
145
+ /**
146
+ * event parameters
147
+ */
148
+ readonly params: UserInfo;
149
+ /**
150
+ * subscribe to the event
151
+ */
152
+ subscribe: (callback: ApplicationLoginListener) => string;
131
153
  }
154
+ /**
155
+ * event handler that handles action completed event
156
+ */
157
+ export declare type ApplicationActionCompletedListener = Listener<IApplication, ActionInfo, Record<string, unknown>, void>;
132
158
  /**
133
159
  * event fired when an action is completed. actions are executed through the performAction method
134
160
  */
135
- export interface IApplicationActionCompletedEvent extends IEvent<IApplication, {
136
- name: string;
137
- }, Record<string, unknown>, void> {
161
+ export interface IApplicationActionCompletedEvent extends IEvent {
138
162
  /**
139
163
  * event name
140
164
  */
@@ -147,6 +171,14 @@ export interface IApplicationActionCompletedEvent extends IEvent<IApplication, {
147
171
  * event does not require feedback from listeners
148
172
  */
149
173
  readonly requiresFeedback: false;
174
+ /**
175
+ * event parameters
176
+ */
177
+ readonly params: ActionInfo;
178
+ /**
179
+ * subscribe to the event
180
+ */
181
+ subscribe: (callback: ApplicationActionCompletedListener) => string;
150
182
  }
151
183
  /**
152
184
  * Allows access to application-level UI elements, behaviors and events
@@ -262,3 +294,4 @@ export interface IApplication extends IScriptingObject {
262
294
  */
263
295
  log(message: string, logLevel: LogLevel): Promise<void>;
264
296
  }
297
+ export {};
@@ -1,15 +1,27 @@
1
- import { IEvent } from '../event.js';
1
+ import { IEvent, Listener } from '../event.js';
2
2
  import { IScriptingObject } from '../scriptingObject.js';
3
3
  export declare type FormDescriptor = {
4
4
  id: string;
5
5
  name: string;
6
6
  };
7
+ declare type FormInfo = {
8
+ /**
9
+ * unique id of the form
10
+ */
11
+ id: string;
12
+ };
13
+ /**
14
+ * event handler for form load event
15
+ */
16
+ export declare type FormLoadListener = Listener<IForm, FormInfo, Record<string, unknown>, void>;
17
+ /**
18
+ * event handler for form unload event
19
+ */
20
+ export declare type FormUnLoadListener = Listener<IForm, FormInfo, Record<string, unknown>, void>;
7
21
  /**
8
22
  * event to notify form load operation
9
23
  */
10
- export interface IFormLoadEvent extends IEvent<IForm, {
11
- id: string;
12
- }, Record<string, unknown>, void> {
24
+ export interface IFormLoadEvent extends IEvent {
13
25
  /**
14
26
  * event name
15
27
  */
@@ -22,13 +34,19 @@ export interface IFormLoadEvent extends IEvent<IForm, {
22
34
  * event does not require feedback from listeners
23
35
  */
24
36
  readonly requiresFeedback: false;
37
+ /**
38
+ * event parameters
39
+ */
40
+ readonly params: FormInfo;
41
+ /**
42
+ * subscribe to the event
43
+ */
44
+ subscribe: (callback: FormLoadListener) => string;
25
45
  }
26
46
  /**
27
47
  * event to notify form unload operation
28
48
  */
29
- export interface IFormUnLoadEvent extends IEvent<IForm, {
30
- id: string;
31
- }, Record<string, unknown>, void> {
49
+ export interface IFormUnLoadEvent extends IEvent {
32
50
  /**
33
51
  * event name
34
52
  */
@@ -41,6 +59,14 @@ export interface IFormUnLoadEvent extends IEvent<IForm, {
41
59
  * event does not require feedback from listeners
42
60
  */
43
61
  readonly requiresFeedback: false;
62
+ /**
63
+ * event parameters
64
+ */
65
+ readonly params: FormInfo;
66
+ /**
67
+ * subscribe to the event
68
+ */
69
+ subscribe: (callback: FormUnLoadListener) => string;
44
70
  }
45
71
  /**
46
72
  * Methods to get information about the custom form
@@ -68,3 +94,4 @@ export interface IForm extends IScriptingObject {
68
94
  */
69
95
  getControl(id: string): Promise<unknown>;
70
96
  }
97
+ export {};
@@ -1,11 +1,19 @@
1
- import { IEvent } from '../event.js';
1
+ import { IEvent, Listener } from '../event.js';
2
2
  import { IScriptingObject } from '../scriptingObject.js';
3
+ declare type StateInfo = {
4
+ /**
5
+ * name of the key for which the value changed
6
+ */
7
+ key: string;
8
+ };
9
+ /**
10
+ * event handler for global state change event
11
+ */
12
+ export declare type GlobalChangeListener = Listener<IGlobal, StateInfo, Record<string, unknown>, void>;
3
13
  /**
4
14
  * event to notify change in global state
5
15
  */
6
- export interface IGlobalChangeEvent extends IEvent<IGlobal, {
7
- key: string;
8
- }, Record<string, unknown>, void> {
16
+ export interface IGlobalChangeEvent extends IEvent {
9
17
  /**
10
18
  * event name
11
19
  */
@@ -18,6 +26,14 @@ export interface IGlobalChangeEvent extends IEvent<IGlobal, {
18
26
  * event does not require feedback from listeners
19
27
  */
20
28
  readonly requiresFeedback: false;
29
+ /**
30
+ * event parameters
31
+ */
32
+ readonly params: StateInfo;
33
+ /**
34
+ * subscribe to the event
35
+ */
36
+ subscribe: (callback: GlobalChangeListener) => string;
21
37
  }
22
38
  /**
23
39
  * The Global object allows for data to be shared between custom forms/tools/plugins within a user's session.
@@ -55,3 +71,4 @@ export interface IGlobal extends IScriptingObject {
55
71
  */
56
72
  get(key: string): Promise<unknown>;
57
73
  }
74
+ export {};
@@ -1,4 +1,4 @@
1
- import { IEvent } from '../event.js';
1
+ import { IEvent, Listener } from '../event.js';
2
2
  import { IScriptingObject } from '../scriptingObject.js';
3
3
  /**
4
4
  * option name and its value
@@ -23,12 +23,22 @@ export declare enum LoanLevelActions {
23
23
  COPY_ITEMIZATION_TO_STATE_DISCLOSURE = "copyItemizationToStateDisclosure",
24
24
  CALCULATE_EEM_MORTGAGE = "calculateEEMMortgage"
25
25
  }
26
+ declare type CommitInfo = {
27
+ /**
28
+ * cause of commit event
29
+ */
30
+ cause: string;
31
+ };
32
+ /**
33
+ * event handler for loan precommit event
34
+ *
35
+ * @returns true if precommit is allowed, false otherwise
36
+ */
37
+ export declare type LoanPreCommitListener = Listener<ILoan, CommitInfo, Record<string, unknown>, boolean>;
26
38
  /**
27
39
  * event to notify loan precommit operation
28
40
  */
29
- export interface ILoanPreCommitEvent extends IEvent<ILoan, {
30
- cause: string;
31
- }, Record<string, unknown>, boolean> {
41
+ export interface ILoanPreCommitEvent extends IEvent {
32
42
  /**
33
43
  * event name
34
44
  */
@@ -41,13 +51,24 @@ export interface ILoanPreCommitEvent extends IEvent<ILoan, {
41
51
  * event requires feedback from listeners
42
52
  */
43
53
  readonly requiresFeedback: true;
54
+ /**
55
+ * event parameters
56
+ */
57
+ readonly params: CommitInfo;
58
+ /**
59
+ * subscribe to the event
60
+ */
61
+ subscribe: (callback: LoanPreCommitListener) => string;
44
62
  }
63
+ /**
64
+ * event handler for loan commited event
65
+ *
66
+ */
67
+ export declare type LoanCommittedListener = Listener<ILoan, CommitInfo, Record<string, unknown>, void>;
45
68
  /**
46
69
  * event to notify loan committed operation
47
70
  */
48
- export interface ILoanCommittedEvent extends IEvent<ILoan, {
49
- cause: string;
50
- }, Record<string, unknown>, void> {
71
+ export interface ILoanCommittedEvent extends IEvent {
51
72
  /**
52
73
  * event name
53
74
  */
@@ -60,11 +81,23 @@ export interface ILoanCommittedEvent extends IEvent<ILoan, {
60
81
  * event does not require feedback from listeners
61
82
  */
62
83
  readonly requiresFeedback: false;
84
+ /**
85
+ * event parameters
86
+ */
87
+ readonly params: CommitInfo;
88
+ /**
89
+ * subscribe to the event
90
+ */
91
+ subscribe: (callback: LoanCommittedListener) => string;
63
92
  }
93
+ /**
94
+ * event handler for loan data change event
95
+ */
96
+ export declare type LoanChangeListener = Listener<ILoan, Record<string, never>, Record<string, unknown>, void>;
64
97
  /**
65
98
  * event to notify loan change operation
66
99
  */
67
- export interface ILoanChangeEvent extends IEvent<ILoan, Record<string, never>, Record<string, unknown>, void> {
100
+ export interface ILoanChangeEvent extends IEvent {
68
101
  /**
69
102
  * event name
70
103
  */
@@ -77,11 +110,23 @@ export interface ILoanChangeEvent extends IEvent<ILoan, Record<string, never>, R
77
110
  * event does not require feedback from listeners
78
111
  */
79
112
  readonly requiresFeedback: false;
113
+ /**
114
+ * event parameters
115
+ */
116
+ readonly params: Record<string, never>;
117
+ /**
118
+ * subscribe to the event
119
+ */
120
+ subscribe: (callback: LoanChangeListener) => string;
80
121
  }
122
+ /**
123
+ * event handler for loan sync event
124
+ */
125
+ export declare type LoanSyncListener = Listener<ILoan, Record<string, never>, Record<string, unknown>, void>;
81
126
  /**
82
127
  * event to notify loan sync operation
83
128
  */
84
- export interface ILoanSyncEvent extends IEvent<ILoan, Record<string, never>, Record<string, unknown>, void> {
129
+ export interface ILoanSyncEvent extends IEvent {
85
130
  /**
86
131
  * event name
87
132
  */
@@ -94,11 +139,23 @@ export interface ILoanSyncEvent extends IEvent<ILoan, Record<string, never>, Rec
94
139
  * event does not require feedback from listeners
95
140
  */
96
141
  readonly requiresFeedback: false;
142
+ /**
143
+ * event parameters
144
+ */
145
+ readonly params: Record<string, never>;
146
+ /**
147
+ * subscribe to the event
148
+ */
149
+ subscribe: (callback: LoanSyncListener) => string;
97
150
  }
151
+ /**
152
+ * event handler for loan open event
153
+ */
154
+ export declare type LoanOpenListener = Listener<ILoan, Record<string, never>, Record<string, unknown>, void>;
98
155
  /**
99
156
  * event to notify loan open operation
100
157
  */
101
- export interface ILoanOpenEvent extends IEvent<ILoan, Record<string, never>, Record<string, unknown>, void> {
158
+ export interface ILoanOpenEvent extends IEvent {
102
159
  /**
103
160
  * event name
104
161
  */
@@ -111,11 +168,25 @@ export interface ILoanOpenEvent extends IEvent<ILoan, Record<string, never>, Rec
111
168
  * event does not require feedback from listeners
112
169
  */
113
170
  readonly requiresFeedback: false;
171
+ /**
172
+ * event parameters
173
+ */
174
+ readonly params: Record<string, never>;
175
+ /**
176
+ * subscribe to the event
177
+ */
178
+ subscribe: (callback: LoanOpenListener) => string;
114
179
  }
180
+ /**
181
+ * event handler for loan close event
182
+ *
183
+ * @returns true if loan close is allowed, false otherwise
184
+ */
185
+ export declare type LoanCloseListener = Listener<ILoan, Record<string, never>, Record<string, unknown>, void>;
115
186
  /**
116
187
  * event to notify loan close operation
117
188
  */
118
- export interface ILoanCloseEvent extends IEvent<ILoan, Record<string, never>, Record<string, unknown>, void> {
189
+ export interface ILoanCloseEvent extends IEvent {
119
190
  /**
120
191
  * event name
121
192
  */
@@ -128,13 +199,29 @@ export interface ILoanCloseEvent extends IEvent<ILoan, Record<string, never>, Re
128
199
  * event does not require feedback from listeners
129
200
  */
130
201
  readonly requiresFeedback: false;
202
+ /**
203
+ * event parameters
204
+ */
205
+ readonly params: Record<string, never>;
206
+ /**
207
+ * subscribe to the event
208
+ */
209
+ subscribe: (callback: LoanCloseListener) => string;
131
210
  }
211
+ declare type MilestoneInfo = {
212
+ /**
213
+ * milestone name
214
+ */
215
+ name: string;
216
+ };
217
+ /**
218
+ * event handler for loan milestone completed event
219
+ */
220
+ export declare type LoanMilestoneCompletedListener = Listener<ILoan, MilestoneInfo, Record<string, unknown>, void>;
132
221
  /**
133
222
  * event to notify loan milestone completed operation
134
223
  */
135
- export interface ILoanMilestoneCompletedEvent extends IEvent<ILoan, {
136
- name: string;
137
- }, Record<string, unknown>, void> {
224
+ export interface ILoanMilestoneCompletedEvent extends IEvent {
138
225
  /**
139
226
  * event name
140
227
  */
@@ -147,13 +234,25 @@ export interface ILoanMilestoneCompletedEvent extends IEvent<ILoan, {
147
234
  * event does not require feedback from listeners
148
235
  */
149
236
  readonly requiresFeedback: false;
237
+ /**
238
+ * event parameters
239
+ */
240
+ readonly params: MilestoneInfo;
241
+ /**
242
+ * subscribe to the event
243
+ */
244
+ subscribe: (callback: LoanMilestoneCompletedListener) => string;
150
245
  }
246
+ /**
247
+ * event handler for loan pre milestone complete event
248
+ *
249
+ * @returns true if milestone complete is allowed, false otherwise
250
+ */
251
+ export declare type LoanPreMilestoneCompleteListener = Listener<ILoan, MilestoneInfo, Record<string, unknown>, boolean>;
151
252
  /**
152
253
  * event to notify loan pre milestone complete operation
153
254
  */
154
- export interface ILoanPreMilestoneCompleteEvent extends IEvent<ILoan, {
155
- name: string;
156
- }, Record<string, unknown>, boolean> {
255
+ export interface ILoanPreMilestoneCompleteEvent extends IEvent {
157
256
  /**
158
257
  * event name
159
258
  */
@@ -166,11 +265,23 @@ export interface ILoanPreMilestoneCompleteEvent extends IEvent<ILoan, {
166
265
  * event requires feedback from listeners
167
266
  */
168
267
  readonly requiresFeedback: true;
268
+ /**
269
+ * event parameters
270
+ */
271
+ readonly params: MilestoneInfo;
272
+ /**
273
+ * subscribe to the event
274
+ */
275
+ subscribe: (callback: LoanPreMilestoneCompleteListener) => string;
169
276
  }
277
+ /**
278
+ * event handler for loan application selected event
279
+ */
280
+ export declare type LoanApplicationSelectedListener = Listener<ILoan, Record<string, never>, Record<string, unknown>, void>;
170
281
  /**
171
282
  * event to notify loan application selected operation
172
283
  */
173
- export interface ILoanApplicationSelectedEvent extends IEvent<ILoan, Record<string, never>, Record<string, unknown>, void> {
284
+ export interface ILoanApplicationSelectedEvent extends IEvent {
174
285
  /**
175
286
  * event name
176
287
  */
@@ -183,6 +294,14 @@ export interface ILoanApplicationSelectedEvent extends IEvent<ILoan, Record<stri
183
294
  * event does not require feedback from listeners
184
295
  */
185
296
  readonly requiresFeedback: false;
297
+ /**
298
+ * event parameters
299
+ */
300
+ readonly params: Record<string, never>;
301
+ /**
302
+ * subscribe to the event
303
+ */
304
+ subscribe: (callback: LoanApplicationSelectedListener) => string;
186
305
  }
187
306
  /**
188
307
  * Methods for interacting with an open loan in the application
@@ -342,3 +461,4 @@ export interface ILoan extends IScriptingObject {
342
461
  getCollection(name: string): Promise<Record<string, string>>;
343
462
  getLockSnapshot(): Promise<Record<string, string>>;
344
463
  }
464
+ export {};
@@ -1,9 +1,16 @@
1
- import { IEvent } from '../event.js';
1
+ import { IEvent, Listener } from '../event.js';
2
2
  import { IScriptingObject } from '../scriptingObject.js';
3
+ /**
4
+ * event handler that handles module unload event
5
+ *
6
+ * @param id unique id of the app that is being unloaded
7
+ * @returns true if the module can be unloaded, false otherwise
8
+ */
9
+ export declare type ModuleUnLoadingListener = Listener<IModule, Record<string, never>, Record<string, unknown>, boolean>;
3
10
  /**
4
11
  * Module unloading event
5
12
  */
6
- export interface IModuleUnloadingEvent extends IEvent<IModule, Record<string, never>, Record<string, unknown>, boolean> {
13
+ export interface IModuleUnloadingEvent extends IEvent {
7
14
  /**
8
15
  * event name
9
16
  */
@@ -16,6 +23,14 @@ export interface IModuleUnloadingEvent extends IEvent<IModule, Record<string, ne
16
23
  * response needed from event listeners
17
24
  */
18
25
  readonly requiresFeedback: true;
26
+ /**
27
+ * event parameters
28
+ */
29
+ readonly params: Record<string, never>;
30
+ /**
31
+ * subscribe to the event
32
+ */
33
+ subscribe: (callback: ModuleUnLoadingListener) => string;
19
34
  }
20
35
  /**
21
36
  * Exposes MicroApp module specific methods
@@ -1,5 +1,5 @@
1
1
  import { BreakPoint } from '@elliemae/pui-theme';
2
- import { IEvent } from '../event.js';
2
+ import { IEvent, Listener } from '../event.js';
3
3
  import { IScriptingObject } from '../scriptingObject.js';
4
4
  /**
5
5
  * window viewport size
@@ -8,12 +8,20 @@ export declare type ViewportSize = {
8
8
  width: number;
9
9
  height: number;
10
10
  };
11
+ declare type ViewportSizeInfo = {
12
+ /**
13
+ * details about the resize event
14
+ */
15
+ entires: ResizeObserverEntry;
16
+ };
17
+ /**
18
+ * parent window resize event handler
19
+ */
20
+ export declare type ViewResizeListener = Listener<IView, ViewportSizeInfo, Record<string, unknown>, void>;
11
21
  /**
12
22
  * event to notify window viewport resize operation
13
23
  */
14
- export interface IViewResizeEvent extends IEvent<IView, {
15
- entries: ResizeObserverEntry;
16
- }, Record<string, unknown>, void> {
24
+ export interface IViewResizeEvent extends IEvent {
17
25
  /**
18
26
  * event name
19
27
  */
@@ -26,13 +34,29 @@ export interface IViewResizeEvent extends IEvent<IView, {
26
34
  * event does not require feedback from listeners
27
35
  */
28
36
  readonly requiresFeedback: false;
37
+ /**
38
+ * event parameters
39
+ */
40
+ readonly params: ViewportSizeInfo;
41
+ /**
42
+ * subscribe to the event
43
+ */
44
+ subscribe: (callback: ViewResizeListener) => string;
29
45
  }
46
+ declare type BreakpointInfo = {
47
+ /**
48
+ * current breakpoint of the parent window
49
+ */
50
+ breakpoint: BreakPoint;
51
+ };
52
+ /**
53
+ * parent window breakpoint change event handler
54
+ */
55
+ export declare type BreakpointChangeListener = Listener<IView, BreakpointInfo, Record<string, unknown>, void>;
30
56
  /**
31
57
  * event to notify window viewport breakpoint change
32
58
  */
33
- export interface IViewBreakpointChangeEvent extends IEvent<IView, {
34
- breakpoint: BreakPoint;
35
- }, Record<string, unknown>, void> {
59
+ export interface IViewBreakpointChangeEvent extends IEvent {
36
60
  /**
37
61
  * event name
38
62
  */
@@ -45,6 +69,14 @@ export interface IViewBreakpointChangeEvent extends IEvent<IView, {
45
69
  * event does not require feedback from listeners
46
70
  */
47
71
  readonly requiresFeedback: false;
72
+ /**
73
+ * event parameters
74
+ */
75
+ readonly params: BreakpointInfo;
76
+ /**
77
+ * subscribe to the event
78
+ */
79
+ subscribe: (callback: BreakpointChangeListener) => string;
48
80
  }
49
81
  /**
50
82
  * Methods view, modify parent's window attributes
@@ -67,3 +99,4 @@ export interface IView extends IScriptingObject {
67
99
  */
68
100
  getViewPortSize(): Promise<ViewportSize>;
69
101
  }
102
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/pui-scripting-object",
3
- "version": "1.16.0",
3
+ "version": "1.16.2",
4
4
  "description": "Typescript defintions for Scripting Objects",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/cjs/index.js",