blob: 6589ee809109b59224c45c4564421aa20c3f1ddb [file] [log] [blame]
/**
* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @fileoverview This file is a backwards-compatibility shim.
* Before Polygerrit converted to ES Modules, it exposes some variables out onto
* the global namespace. Plugins can depend on these variables and we must
* expose these variables until plugins switch to direct import from polygerrit.
*/
import {GrAnnotation} from '../embed/diff/gr-diff-highlight/gr-annotation';
import {GrPluginActionContext} from './shared/gr-js-api-interface/gr-plugin-action-context';
import {AppContext, injectAppContext} from '../services/app-context';
import {PluginLoader} from './shared/gr-js-api-interface/gr-plugin-loader';
import {
initVisibilityReporter,
initPerformanceReporter,
initErrorReporter,
initWebVitals,
initClickReporter,
initInteractionReporter,
} from '../services/gr-reporting/gr-reporting_impl';
import {Finalizable} from '../services/registry';
export function initGlobalVariables(
appContext: AppContext & Finalizable,
initializeReporting: boolean
) {
injectAppContext(appContext);
if (initializeReporting) {
const reportingService = appContext.reportingService;
initVisibilityReporter(reportingService);
initPerformanceReporter(reportingService);
initWebVitals(reportingService);
initErrorReporter(reportingService);
initClickReporter(reportingService);
initInteractionReporter(reportingService);
}
window.GrAnnotation = GrAnnotation;
window.GrPluginActionContext = GrPluginActionContext;
}
export function initGerrit(pluginLoader: PluginLoader) {
window.Gerrit = pluginLoader;
}