* Fires a custom event, configured via the "event" decorator. * @public * @param name - name of the event * @param data - additional data for the event * @returns false, if the event was cancelled (preventDefault called), true otherwise
(name: N, data?: this["eventDetails"][N] | undefined)
| 1069 | * @returns false, if the event was cancelled (preventDefault called), true otherwise |
| 1070 | */ |
| 1071 | fireDecoratorEvent<N extends keyof this["eventDetails"]>(name: N, data?: this["eventDetails"][N] | undefined): boolean { |
| 1072 | const eventData = this.getEventData(name as string); |
| 1073 | const cancellable = eventData ? eventData.cancelable : false; |
| 1074 | const bubbles = eventData ? eventData.bubbles : false; |
| 1075 | |
| 1076 | const eventResult = this._fireEvent(name as string, data, cancellable, bubbles); |
| 1077 | const pascalCaseEventName = kebabToPascalCase(name as string); |
| 1078 | |
| 1079 | // pascal events are more convinient for native react usage |
| 1080 | // live-change: |
| 1081 | // Before: onlive-change |
| 1082 | // After: onLiveChange |
| 1083 | if (pascalCaseEventName !== name) { |
| 1084 | return eventResult && this._fireEvent(pascalCaseEventName, data, cancellable, bubbles); |
| 1085 | } |
| 1086 | |
| 1087 | return eventResult; |
| 1088 | } |
| 1089 | |
| 1090 | _fireEvent<T>(name: string, data?: T, cancelable = false, bubbles = true) { |
| 1091 | const noConflictEvent = new CustomEvent<T>(`ui5-${name}`, { |
nothing calls this directly
no test coverage detected
searching dependent graphs…