2020-05-18 09:08:12 +00:00
|
|
|
import createEventHub from '~/helpers/event_hub_factory';
|
2019-09-23 21:06:29 +00:00
|
|
|
|
|
|
|
// see recaptcha_tags in app/views/shared/_recaptcha_form.html.haml
|
|
|
|
export const callbackName = 'recaptchaDialogCallback';
|
|
|
|
|
2020-05-18 09:08:12 +00:00
|
|
|
export const eventHub = createEventHub();
|
2019-09-23 21:06:29 +00:00
|
|
|
|
|
|
|
const throwDuplicateCallbackError = () => {
|
|
|
|
throw new Error(`${callbackName} is already defined!`);
|
|
|
|
};
|
|
|
|
|
|
|
|
if (window[callbackName]) {
|
|
|
|
throwDuplicateCallbackError();
|
|
|
|
}
|
|
|
|
|
|
|
|
const callback = () => eventHub.$emit('submit');
|
|
|
|
|
|
|
|
Object.defineProperty(window, callbackName, {
|
|
|
|
get: () => callback,
|
|
|
|
set: throwDuplicateCallbackError,
|
|
|
|
});
|