@servicetitan/web-components 31.2.0 → 31.3.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/dist/event-bus.js +10 -2
- package/dist/event-bus.js.map +1 -1
- package/package.json +9 -9
- package/src/__tests__/event-bus.test.ts +9 -1
- package/src/event-bus.ts +9 -1
package/dist/event-bus.js
CHANGED
|
@@ -102,18 +102,23 @@ export class EventBus {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
const allowListedEvents = new Set([
|
|
105
|
+
':widgets:message',
|
|
105
106
|
'[EH] Module Link Clicked',
|
|
106
107
|
'[EH] Module Loaded',
|
|
107
108
|
'[internal] reset',
|
|
108
109
|
'blink',
|
|
109
110
|
'CLOSE_COMPONENT',
|
|
110
111
|
'CLOSE_JOB_EDIT_FLYOUT',
|
|
112
|
+
'close-troubleshooter',
|
|
111
113
|
'company-profile-request-save',
|
|
112
114
|
'company-profile-saved-error',
|
|
113
115
|
'company-profile-saved',
|
|
114
116
|
'dismiss-discrepancy-event',
|
|
115
117
|
'dismiss-discrepancy-map-event',
|
|
116
118
|
'dispatch-JobEditFlyout-fetchData',
|
|
119
|
+
'dispatch-pro-query-toggle-data',
|
|
120
|
+
'dispatch-pro-recieve-toggle-data',
|
|
121
|
+
'dispatch-pro-set-job-enabled',
|
|
117
122
|
'dispatchpro-fetchStatus',
|
|
118
123
|
'dispatchpro-open-issuereporter',
|
|
119
124
|
'DRAWER_CREATED_CUSTOMER',
|
|
@@ -125,12 +130,15 @@ const allowListedEvents = new Set([
|
|
|
125
130
|
'ium-ep-form-can-be-submitted-change',
|
|
126
131
|
'ium-ep-save-changes',
|
|
127
132
|
'loaded',
|
|
133
|
+
'MESSAGE_TECHNICIAN',
|
|
128
134
|
'my-custom-event',
|
|
129
135
|
'NEW_EVENT',
|
|
130
136
|
'ON_WIDGET_INIT',
|
|
131
137
|
'OPEN_ASSIST_SCREEN',
|
|
132
138
|
'OPEN_CREATE_CUSTOMER_DRAWER',
|
|
133
139
|
'OPEN_DC_SIDE_PANEL_COMPONENT',
|
|
140
|
+
'OPEN_JOB_EDIT_FLYOUT',
|
|
141
|
+
'OPEN_RESCHEDULE_FLYOUT',
|
|
134
142
|
'open-troubleshooter',
|
|
135
143
|
'resolve-discrepancy-map-event',
|
|
136
144
|
'restore-discrepancy-event',
|
|
@@ -145,8 +153,8 @@ const allowListedEvents = new Set([
|
|
|
145
153
|
'timesheet-activity-saved',
|
|
146
154
|
'TOGGLE_DC_SIDE_PANEL_COMPONENT',
|
|
147
155
|
'updateUserEmail',
|
|
148
|
-
'
|
|
149
|
-
'
|
|
156
|
+
'VIEW_NON_JOB_EVENT',
|
|
157
|
+
'visibility'
|
|
150
158
|
]);
|
|
151
159
|
|
|
152
160
|
//# sourceMappingURL=event-bus.js.map
|
package/dist/event-bus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event-bus.ts"],"sourcesContent":["import { symbolToken, SymbolToken } from '@servicetitan/react-ioc';\nimport mitt from 'mitt';\n\nimport { JSON, Serializable } from './types';\n\nexport const EVENT_BUS_TOKEN = symbolToken<EventBus>('EVENT_BUS_TOKEN');\n\nexport function typedEventBusToken<EventTypes extends Serializable<EventTypes>>() {\n return symbolToken<EventBus<EventTypes>>('EVENT_BUS_TOKEN');\n}\n\nexport type EventHandler<EventTypes, Event, T = never> = (\n data: [T] extends [never]\n ? Event extends SymbolToken<infer DataType>\n ? Serializable<DataType>\n : Event extends keyof EventTypes\n ? EventTypes[Event]\n : T\n : Serializable<T>\n) => void;\n\ntype JobPayload = JSON | void;\n\nexport type EventType = string | number | symbol;\nexport type SymbolTokenEventType<T, U extends EventType = EventType> =\n U extends SymbolToken<any> ? SymbolToken<T> : U;\n\nexport type JobEventHandler<Event> = (defer: {\n /**\n * Successfully complete a job.\n * @param result The value to return from the successfully completed job.\n */\n resolve(\n ...result: Event extends SymbolToken<infer ResultType>\n ? undefined extends ResultType\n ? [Serializable<ResultType>?]\n : [Serializable<ResultType>]\n : [JobPayload]\n ): void;\n /**\n * Fail a job.\n * @param reason The error to return from the failed job.\n */\n reject(reason?: string | Error): void;\n}) => void;\n\nexport class EventBus<EventTypes extends Serializable<EventTypes> = never> {\n job = {\n /**\n * Register a job event handler. Jobs event handlers return a result or an error.\n * @param event The job event to handle.\n * @param handler The handler to call when the event occurs. This handler is passed a `resolve` callback to return a successful result, and a `reject` callback to return an error.\n */\n on: <Event extends SymbolToken<any> | keyof EventTypes>(\n event: Event,\n handler: JobEventHandler<Event>\n ) => {\n this.validateEvent(event);\n this.emitter.on(event, handler);\n },\n\n /**\n * Deregister a job event handler.\n * @param event The previously registered event.\n * @param handler The previously registered handler.\n */\n off: <Event extends SymbolToken<any> | keyof EventTypes>(\n event: Event,\n handler: JobEventHandler<Event>\n ) => {\n this.emitter.off(event, handler);\n },\n\n /**\n * Send a job event.\n * @param event The event to send.\n * @returns a Promise that resolves or rejects depending on whether the job completes successfully.\n */\n emit: <Event extends SymbolToken<any> | keyof EventTypes>(event: Event) => {\n this.validateEvent(event);\n return new Promise<\n Event extends SymbolToken<infer ResultType> ? Serializable<ResultType> : JobPayload\n >((resolve, reject) => {\n this.emitter.emit(event, {\n resolve,\n reject: (reason?: string | Error) => {\n if (typeof reason === 'string' || reason instanceof Error) {\n reject(reason);\n } else {\n reject();\n }\n },\n });\n });\n },\n };\n\n private emitter = mitt<any>();\n\n /**\n * Register an event handler.\n * @param event The event to handle.\n * @param handler The handler to call when the event occurs.\n */\n on = <T extends Serializable<T> = never, Event extends SymbolToken<T> | keyof EventTypes = any>(\n event: SymbolTokenEventType<T, Event>,\n handler: EventHandler<EventTypes, Event, T>\n ) => {\n this.validateEvent(event);\n this.emitter.on(event, handler);\n };\n\n /**\n * Deregister an event handler.\n * @param event The previously registered event.\n * @param handler The previously registered handler.\n */\n off = <\n T extends Serializable<T> = never,\n Event extends SymbolToken<T> | keyof EventTypes = any,\n >(\n event: SymbolTokenEventType<T, Event>,\n handler: EventHandler<EventTypes, Event, T>\n ) => {\n this.emitter.off(event, handler);\n };\n\n /**\n * Send an event.\n * @param event The event to send.\n * @param data The data to pass to the event's handler.\n */\n emit = <T extends Serializable<T>, Event extends SymbolToken<T> | keyof EventTypes = any>(\n event: SymbolTokenEventType<T, Event>,\n ...data: Event extends SymbolToken<any>\n ? undefined extends T\n ? [T?]\n : [T]\n : [EventTypes] extends [never]\n ? [T?]\n : Event extends keyof EventTypes\n ? undefined extends EventTypes[Event]\n ? [EventTypes[Event]?]\n : [EventTypes[Event]] extends [never]\n ? []\n : [EventTypes[Event]]\n : never\n ) => {\n this.validateEvent(event);\n this.emitter.emit(event, data[0]);\n };\n\n private validateEvent(event: any) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const name = this.getName(event);\n if (name === undefined || /^[^:]+:.+/.test(name) || allowListedEvents.has(name)) {\n return;\n }\n\n throw new Error('event must have format {module}:{name}');\n }\n\n private getName(event: any) {\n if (typeof event === 'string') {\n return event;\n }\n if (typeof event === 'symbol') {\n return Symbol.keyFor(event) ?? '';\n }\n return undefined;\n }\n}\n\nconst allowListedEvents = new Set([\n '[EH] Module Link Clicked',\n '[EH] Module Loaded',\n '[internal] reset',\n 'blink',\n 'CLOSE_COMPONENT',\n 'CLOSE_JOB_EDIT_FLYOUT',\n 'company-profile-request-save',\n 'company-profile-saved-error',\n 'company-profile-saved',\n 'dismiss-discrepancy-event',\n 'dismiss-discrepancy-map-event',\n 'dispatch-JobEditFlyout-fetchData',\n 'dispatchpro-fetchStatus',\n 'dispatchpro-open-issuereporter',\n 'DRAWER_CREATED_CUSTOMER',\n 'employees-emails-processed',\n 'employees-request-save',\n 'employees-saved-error',\n 'employees-saved',\n 'ium-ep-cancel-changes',\n 'ium-ep-form-can-be-submitted-change',\n 'ium-ep-save-changes',\n 'loaded',\n 'my-custom-event',\n 'NEW_EVENT',\n 'ON_WIDGET_INIT',\n 'OPEN_ASSIST_SCREEN',\n 'OPEN_CREATE_CUSTOMER_DRAWER',\n 'OPEN_DC_SIDE_PANEL_COMPONENT',\n 'open-troubleshooter',\n 'resolve-discrepancy-map-event',\n 'restore-discrepancy-event',\n 'setLabel',\n 'SHOW_POP_UP_MESSAGE',\n 'TEAMS_SELECTED',\n 'tech-is-dispatch-pro-change',\n 'technicians-emails-processed',\n 'technicians-request-save',\n 'technicians-saved-error',\n 'technicians-saved',\n 'timesheet-activity-saved',\n 'TOGGLE_DC_SIDE_PANEL_COMPONENT',\n 'updateUserEmail',\n '
|
|
1
|
+
{"version":3,"sources":["../src/event-bus.ts"],"sourcesContent":["import { symbolToken, SymbolToken } from '@servicetitan/react-ioc';\nimport mitt from 'mitt';\n\nimport { JSON, Serializable } from './types';\n\nexport const EVENT_BUS_TOKEN = symbolToken<EventBus>('EVENT_BUS_TOKEN');\n\nexport function typedEventBusToken<EventTypes extends Serializable<EventTypes>>() {\n return symbolToken<EventBus<EventTypes>>('EVENT_BUS_TOKEN');\n}\n\nexport type EventHandler<EventTypes, Event, T = never> = (\n data: [T] extends [never]\n ? Event extends SymbolToken<infer DataType>\n ? Serializable<DataType>\n : Event extends keyof EventTypes\n ? EventTypes[Event]\n : T\n : Serializable<T>\n) => void;\n\ntype JobPayload = JSON | void;\n\nexport type EventType = string | number | symbol;\nexport type SymbolTokenEventType<T, U extends EventType = EventType> =\n U extends SymbolToken<any> ? SymbolToken<T> : U;\n\nexport type JobEventHandler<Event> = (defer: {\n /**\n * Successfully complete a job.\n * @param result The value to return from the successfully completed job.\n */\n resolve(\n ...result: Event extends SymbolToken<infer ResultType>\n ? undefined extends ResultType\n ? [Serializable<ResultType>?]\n : [Serializable<ResultType>]\n : [JobPayload]\n ): void;\n /**\n * Fail a job.\n * @param reason The error to return from the failed job.\n */\n reject(reason?: string | Error): void;\n}) => void;\n\nexport class EventBus<EventTypes extends Serializable<EventTypes> = never> {\n job = {\n /**\n * Register a job event handler. Jobs event handlers return a result or an error.\n * @param event The job event to handle.\n * @param handler The handler to call when the event occurs. This handler is passed a `resolve` callback to return a successful result, and a `reject` callback to return an error.\n */\n on: <Event extends SymbolToken<any> | keyof EventTypes>(\n event: Event,\n handler: JobEventHandler<Event>\n ) => {\n this.validateEvent(event);\n this.emitter.on(event, handler);\n },\n\n /**\n * Deregister a job event handler.\n * @param event The previously registered event.\n * @param handler The previously registered handler.\n */\n off: <Event extends SymbolToken<any> | keyof EventTypes>(\n event: Event,\n handler: JobEventHandler<Event>\n ) => {\n this.emitter.off(event, handler);\n },\n\n /**\n * Send a job event.\n * @param event The event to send.\n * @returns a Promise that resolves or rejects depending on whether the job completes successfully.\n */\n emit: <Event extends SymbolToken<any> | keyof EventTypes>(event: Event) => {\n this.validateEvent(event);\n return new Promise<\n Event extends SymbolToken<infer ResultType> ? Serializable<ResultType> : JobPayload\n >((resolve, reject) => {\n this.emitter.emit(event, {\n resolve,\n reject: (reason?: string | Error) => {\n if (typeof reason === 'string' || reason instanceof Error) {\n reject(reason);\n } else {\n reject();\n }\n },\n });\n });\n },\n };\n\n private emitter = mitt<any>();\n\n /**\n * Register an event handler.\n * @param event The event to handle.\n * @param handler The handler to call when the event occurs.\n */\n on = <T extends Serializable<T> = never, Event extends SymbolToken<T> | keyof EventTypes = any>(\n event: SymbolTokenEventType<T, Event>,\n handler: EventHandler<EventTypes, Event, T>\n ) => {\n this.validateEvent(event);\n this.emitter.on(event, handler);\n };\n\n /**\n * Deregister an event handler.\n * @param event The previously registered event.\n * @param handler The previously registered handler.\n */\n off = <\n T extends Serializable<T> = never,\n Event extends SymbolToken<T> | keyof EventTypes = any,\n >(\n event: SymbolTokenEventType<T, Event>,\n handler: EventHandler<EventTypes, Event, T>\n ) => {\n this.emitter.off(event, handler);\n };\n\n /**\n * Send an event.\n * @param event The event to send.\n * @param data The data to pass to the event's handler.\n */\n emit = <T extends Serializable<T>, Event extends SymbolToken<T> | keyof EventTypes = any>(\n event: SymbolTokenEventType<T, Event>,\n ...data: Event extends SymbolToken<any>\n ? undefined extends T\n ? [T?]\n : [T]\n : [EventTypes] extends [never]\n ? [T?]\n : Event extends keyof EventTypes\n ? undefined extends EventTypes[Event]\n ? [EventTypes[Event]?]\n : [EventTypes[Event]] extends [never]\n ? []\n : [EventTypes[Event]]\n : never\n ) => {\n this.validateEvent(event);\n this.emitter.emit(event, data[0]);\n };\n\n private validateEvent(event: any) {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const name = this.getName(event);\n if (name === undefined || /^[^:]+:.+/.test(name) || allowListedEvents.has(name)) {\n return;\n }\n\n throw new Error('event must have format {module}:{name}');\n }\n\n private getName(event: any) {\n if (typeof event === 'string') {\n return event;\n }\n if (typeof event === 'symbol') {\n return Symbol.keyFor(event) ?? '';\n }\n return undefined;\n }\n}\n\nconst allowListedEvents = new Set([\n ':widgets:message',\n '[EH] Module Link Clicked',\n '[EH] Module Loaded',\n '[internal] reset',\n 'blink',\n 'CLOSE_COMPONENT',\n 'CLOSE_JOB_EDIT_FLYOUT',\n 'close-troubleshooter',\n 'company-profile-request-save',\n 'company-profile-saved-error',\n 'company-profile-saved',\n 'dismiss-discrepancy-event',\n 'dismiss-discrepancy-map-event',\n 'dispatch-JobEditFlyout-fetchData',\n 'dispatch-pro-query-toggle-data',\n 'dispatch-pro-recieve-toggle-data',\n 'dispatch-pro-set-job-enabled',\n 'dispatchpro-fetchStatus',\n 'dispatchpro-open-issuereporter',\n 'DRAWER_CREATED_CUSTOMER',\n 'employees-emails-processed',\n 'employees-request-save',\n 'employees-saved-error',\n 'employees-saved',\n 'ium-ep-cancel-changes',\n 'ium-ep-form-can-be-submitted-change',\n 'ium-ep-save-changes',\n 'loaded',\n 'MESSAGE_TECHNICIAN',\n 'my-custom-event',\n 'NEW_EVENT',\n 'ON_WIDGET_INIT',\n 'OPEN_ASSIST_SCREEN',\n 'OPEN_CREATE_CUSTOMER_DRAWER',\n 'OPEN_DC_SIDE_PANEL_COMPONENT',\n 'OPEN_JOB_EDIT_FLYOUT',\n 'OPEN_RESCHEDULE_FLYOUT',\n 'open-troubleshooter',\n 'resolve-discrepancy-map-event',\n 'restore-discrepancy-event',\n 'setLabel',\n 'SHOW_POP_UP_MESSAGE',\n 'TEAMS_SELECTED',\n 'tech-is-dispatch-pro-change',\n 'technicians-emails-processed',\n 'technicians-request-save',\n 'technicians-saved-error',\n 'technicians-saved',\n 'timesheet-activity-saved',\n 'TOGGLE_DC_SIDE_PANEL_COMPONENT',\n 'updateUserEmail',\n 'VIEW_NON_JOB_EVENT',\n 'visibility',\n]);\n"],"names":["symbolToken","mitt","EVENT_BUS_TOKEN","typedEventBusToken","EventBus","validateEvent","event","process","env","NODE_ENV","name","getName","undefined","test","allowListedEvents","has","Error","Symbol","keyFor","job","on","handler","emitter","off","emit","Promise","resolve","reject","reason","data","Set"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,WAAW,QAAqB,0BAA0B;AACnE,OAAOC,UAAU,OAAO;AAIxB,OAAO,MAAMC,kBAAkBF,YAAsB,mBAAmB;AAExE,OAAO,SAASG;IACZ,OAAOH,YAAkC;AAC7C;AAqCA,OAAO,MAAMI;IA0GDC,cAAcC,KAAU,EAAE;QAC9B,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;YACvC;QACJ;QAEA,MAAMC,OAAO,IAAI,CAACC,OAAO,CAACL;QAC1B,IAAII,SAASE,aAAa,YAAYC,IAAI,CAACH,SAASI,kBAAkBC,GAAG,CAACL,OAAO;YAC7E;QACJ;QAEA,MAAM,IAAIM,MAAM;IACpB;IAEQL,QAAQL,KAAU,EAAE;QACxB,IAAI,OAAOA,UAAU,UAAU;YAC3B,OAAOA;QACX;QACA,IAAI,OAAOA,UAAU,UAAU;gBACpBW;YAAP,OAAOA,CAAAA,iBAAAA,OAAOC,MAAM,CAACZ,oBAAdW,4BAAAA,iBAAwB;QACnC;QACA,OAAOL;IACX;;QA9HAO,uBAAAA,OAAM;YACF;;;;SAIC,GACDC,IAAI,CACAd,OACAe;gBAEA,IAAI,CAAChB,aAAa,CAACC;gBACnB,IAAI,CAACgB,OAAO,CAACF,EAAE,CAACd,OAAOe;YAC3B;YAEA;;;;SAIC,GACDE,KAAK,CACDjB,OACAe;gBAEA,IAAI,CAACC,OAAO,CAACC,GAAG,CAACjB,OAAOe;YAC5B;YAEA;;;;SAIC,GACDG,MAAM,CAAoDlB;gBACtD,IAAI,CAACD,aAAa,CAACC;gBACnB,OAAO,IAAImB,QAET,CAACC,SAASC;oBACR,IAAI,CAACL,OAAO,CAACE,IAAI,CAAClB,OAAO;wBACrBoB;wBACAC,QAAQ,CAACC;4BACL,IAAI,OAAOA,WAAW,YAAYA,kBAAkBZ,OAAO;gCACvDW,OAAOC;4BACX,OAAO;gCACHD;4BACJ;wBACJ;oBACJ;gBACJ;YACJ;QACJ;QAEA,uBAAQL,WAAUrB;QAElB;;;;KAIC,GACDmB,uBAAAA,MAAK,CACDd,OACAe;YAEA,IAAI,CAAChB,aAAa,CAACC;YACnB,IAAI,CAACgB,OAAO,CAACF,EAAE,CAACd,OAAOe;QAC3B;QAEA;;;;KAIC,GACDE,uBAAAA,OAAM,CAIFjB,OACAe;YAEA,IAAI,CAACC,OAAO,CAACC,GAAG,CAACjB,OAAOe;QAC5B;QAEA;;;;KAIC,GACDG,uBAAAA,QAAO,CACHlB,OACA,GAAGuB;YAcH,IAAI,CAACxB,aAAa,CAACC;YACnB,IAAI,CAACgB,OAAO,CAACE,IAAI,CAAClB,OAAOuB,IAAI,CAAC,EAAE;QACpC;;AAwBJ;AAEA,MAAMf,oBAAoB,IAAIgB,IAAI;IAC9B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/web-components",
|
|
3
|
-
"version": "31.
|
|
3
|
+
"version": "31.3.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"src"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@servicetitan/error-boundary": "31.
|
|
18
|
+
"@servicetitan/error-boundary": "31.3.1",
|
|
19
19
|
"lodash.get": "~4.4.2",
|
|
20
20
|
"mitt": "~3.0.1",
|
|
21
21
|
"semver": "~7.7.2"
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@servicetitan/anvil2": "^1.39.0",
|
|
25
25
|
"@servicetitan/design-system": "~14.5.3",
|
|
26
|
-
"@servicetitan/launchdarkly-service": "31.
|
|
27
|
-
"@servicetitan/log-service": "31.
|
|
28
|
-
"@servicetitan/react-ioc": "31.
|
|
26
|
+
"@servicetitan/launchdarkly-service": "31.3.1",
|
|
27
|
+
"@servicetitan/log-service": "31.3.1",
|
|
28
|
+
"@servicetitan/react-ioc": "31.3.1",
|
|
29
29
|
"@testing-library/dom": "^10.4.0",
|
|
30
30
|
"@testing-library/jest-dom": "^6.6.3",
|
|
31
31
|
"@testing-library/react": "^16.3.0",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@servicetitan/anvil2": ">=1.39.0",
|
|
45
45
|
"@servicetitan/design-system": ">=14.5.3",
|
|
46
|
-
"@servicetitan/launchdarkly-service": "31.
|
|
47
|
-
"@servicetitan/log-service": "31.
|
|
48
|
-
"@servicetitan/react-ioc": "31.
|
|
46
|
+
"@servicetitan/launchdarkly-service": "31.3.1",
|
|
47
|
+
"@servicetitan/log-service": "31.3.1",
|
|
48
|
+
"@servicetitan/react-ioc": "31.3.1",
|
|
49
49
|
"history": "~4.10.1",
|
|
50
50
|
"react": ">=17.0.2",
|
|
51
51
|
"react-dom": ">=17.0.2"
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"cli": {
|
|
68
68
|
"webpack": false
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "0f6ee09cfe2f5d12a17f42c5aea40d93db9ae6e9"
|
|
71
71
|
}
|
|
@@ -4,18 +4,23 @@ import { EventBus, typedEventBusToken, EVENT_BUS_TOKEN } from '../event-bus';
|
|
|
4
4
|
jest.mock('mitt', () => jest.fn());
|
|
5
5
|
|
|
6
6
|
const allowListedEvents = [
|
|
7
|
+
':widgets:message',
|
|
7
8
|
'[EH] Module Link Clicked',
|
|
8
9
|
'[EH] Module Loaded',
|
|
9
10
|
'[internal] reset',
|
|
10
11
|
'blink',
|
|
11
12
|
'CLOSE_COMPONENT',
|
|
12
13
|
'CLOSE_JOB_EDIT_FLYOUT',
|
|
14
|
+
'close-troubleshooter',
|
|
13
15
|
'company-profile-request-save',
|
|
14
16
|
'company-profile-saved-error',
|
|
15
17
|
'company-profile-saved',
|
|
16
18
|
'dismiss-discrepancy-event',
|
|
17
19
|
'dismiss-discrepancy-map-event',
|
|
18
20
|
'dispatch-JobEditFlyout-fetchData',
|
|
21
|
+
'dispatch-pro-query-toggle-data',
|
|
22
|
+
'dispatch-pro-recieve-toggle-data',
|
|
23
|
+
'dispatch-pro-set-job-enabled',
|
|
19
24
|
'dispatchpro-fetchStatus',
|
|
20
25
|
'dispatchpro-open-issuereporter',
|
|
21
26
|
'DRAWER_CREATED_CUSTOMER',
|
|
@@ -27,12 +32,15 @@ const allowListedEvents = [
|
|
|
27
32
|
'ium-ep-form-can-be-submitted-change',
|
|
28
33
|
'ium-ep-save-changes',
|
|
29
34
|
'loaded',
|
|
35
|
+
'MESSAGE_TECHNICIAN',
|
|
30
36
|
'my-custom-event',
|
|
31
37
|
'NEW_EVENT',
|
|
32
38
|
'ON_WIDGET_INIT',
|
|
33
39
|
'OPEN_ASSIST_SCREEN',
|
|
34
40
|
'OPEN_CREATE_CUSTOMER_DRAWER',
|
|
35
41
|
'OPEN_DC_SIDE_PANEL_COMPONENT',
|
|
42
|
+
'OPEN_JOB_EDIT_FLYOUT',
|
|
43
|
+
'OPEN_RESCHEDULE_FLYOUT',
|
|
36
44
|
'open-troubleshooter',
|
|
37
45
|
'resolve-discrepancy-map-event',
|
|
38
46
|
'restore-discrepancy-event',
|
|
@@ -47,8 +55,8 @@ const allowListedEvents = [
|
|
|
47
55
|
'timesheet-activity-saved',
|
|
48
56
|
'TOGGLE_DC_SIDE_PANEL_COMPONENT',
|
|
49
57
|
'updateUserEmail',
|
|
58
|
+
'VIEW_NON_JOB_EVENT',
|
|
50
59
|
'visibility',
|
|
51
|
-
':widgets:message',
|
|
52
60
|
];
|
|
53
61
|
|
|
54
62
|
describe(`[web-components] ${EventBus.name}`, () => {
|
package/src/event-bus.ts
CHANGED
|
@@ -175,18 +175,23 @@ export class EventBus<EventTypes extends Serializable<EventTypes> = never> {
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
const allowListedEvents = new Set([
|
|
178
|
+
':widgets:message',
|
|
178
179
|
'[EH] Module Link Clicked',
|
|
179
180
|
'[EH] Module Loaded',
|
|
180
181
|
'[internal] reset',
|
|
181
182
|
'blink',
|
|
182
183
|
'CLOSE_COMPONENT',
|
|
183
184
|
'CLOSE_JOB_EDIT_FLYOUT',
|
|
185
|
+
'close-troubleshooter',
|
|
184
186
|
'company-profile-request-save',
|
|
185
187
|
'company-profile-saved-error',
|
|
186
188
|
'company-profile-saved',
|
|
187
189
|
'dismiss-discrepancy-event',
|
|
188
190
|
'dismiss-discrepancy-map-event',
|
|
189
191
|
'dispatch-JobEditFlyout-fetchData',
|
|
192
|
+
'dispatch-pro-query-toggle-data',
|
|
193
|
+
'dispatch-pro-recieve-toggle-data',
|
|
194
|
+
'dispatch-pro-set-job-enabled',
|
|
190
195
|
'dispatchpro-fetchStatus',
|
|
191
196
|
'dispatchpro-open-issuereporter',
|
|
192
197
|
'DRAWER_CREATED_CUSTOMER',
|
|
@@ -198,12 +203,15 @@ const allowListedEvents = new Set([
|
|
|
198
203
|
'ium-ep-form-can-be-submitted-change',
|
|
199
204
|
'ium-ep-save-changes',
|
|
200
205
|
'loaded',
|
|
206
|
+
'MESSAGE_TECHNICIAN',
|
|
201
207
|
'my-custom-event',
|
|
202
208
|
'NEW_EVENT',
|
|
203
209
|
'ON_WIDGET_INIT',
|
|
204
210
|
'OPEN_ASSIST_SCREEN',
|
|
205
211
|
'OPEN_CREATE_CUSTOMER_DRAWER',
|
|
206
212
|
'OPEN_DC_SIDE_PANEL_COMPONENT',
|
|
213
|
+
'OPEN_JOB_EDIT_FLYOUT',
|
|
214
|
+
'OPEN_RESCHEDULE_FLYOUT',
|
|
207
215
|
'open-troubleshooter',
|
|
208
216
|
'resolve-discrepancy-map-event',
|
|
209
217
|
'restore-discrepancy-event',
|
|
@@ -218,6 +226,6 @@ const allowListedEvents = new Set([
|
|
|
218
226
|
'timesheet-activity-saved',
|
|
219
227
|
'TOGGLE_DC_SIDE_PANEL_COMPONENT',
|
|
220
228
|
'updateUserEmail',
|
|
229
|
+
'VIEW_NON_JOB_EVENT',
|
|
221
230
|
'visibility',
|
|
222
|
-
':widgets:message',
|
|
223
231
|
]);
|