182 lines
7.9 KiB
TypeScript
182 lines
7.9 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright (C) 2020 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/**
|
|
* @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 {
|
|
getAccountDisplayName,
|
|
getDisplayName,
|
|
getGroupDisplayName,
|
|
getUserName,
|
|
} from '../utils/display-name-util';
|
|
import {GrAnnotation} from './diff/gr-diff-highlight/gr-annotation';
|
|
import {GrAttributeHelper} from './plugins/gr-attribute-helper/gr-attribute-helper';
|
|
import {GrDiffLine, GrDiffLineType} from './diff/gr-diff/gr-diff-line';
|
|
import {GrDiffGroup, GrDiffGroupType} from './diff/gr-diff/gr-diff-group';
|
|
import {GrDiffBuilder} from './diff/gr-diff-builder/gr-diff-builder';
|
|
import {GrDiffBuilderSideBySide} from './diff/gr-diff-builder/gr-diff-builder-side-by-side';
|
|
import {GrDiffBuilderImage} from './diff/gr-diff-builder/gr-diff-builder-image';
|
|
import {GrDiffBuilderUnified} from './diff/gr-diff-builder/gr-diff-builder-unified';
|
|
import {GrDiffBuilderBinary} from './diff/gr-diff-builder/gr-diff-builder-binary';
|
|
import {GrChangeActionsInterface} from './shared/gr-js-api-interface/gr-change-actions-js-api';
|
|
import {GrChangeReplyInterface} from './shared/gr-js-api-interface/gr-change-reply-js-api';
|
|
import {GrEditConstants} from './edit/gr-edit-constants';
|
|
import {
|
|
GrDomHooksManager,
|
|
GrDomHook,
|
|
} from './plugins/gr-dom-hooks/gr-dom-hooks';
|
|
import {GrEtagDecorator} from './shared/gr-rest-api-interface/gr-etag-decorator';
|
|
import {GrThemeApi} from './plugins/gr-theme-api/gr-theme-api';
|
|
import {
|
|
SiteBasedCache,
|
|
FetchPromisesCache,
|
|
GrRestApiHelper,
|
|
} from './shared/gr-rest-api-interface/gr-rest-apis/gr-rest-api-helper';
|
|
import {GrLinkTextParser} from './shared/gr-linked-text/link-text-parser';
|
|
import {
|
|
getPluginEndpoints,
|
|
GrPluginEndpoints,
|
|
} from './shared/gr-js-api-interface/gr-plugin-endpoints';
|
|
import {GrReviewerUpdatesParser} from './shared/gr-rest-api-interface/gr-reviewer-updates-parser';
|
|
import {GrPopupInterface} from './plugins/gr-popup-interface/gr-popup-interface';
|
|
import {GrCountStringFormatter} from './shared/gr-count-string-formatter/gr-count-string-formatter';
|
|
import {
|
|
GrReviewerSuggestionsProvider,
|
|
SUGGESTIONS_PROVIDERS_USERS_TYPES,
|
|
} from '../scripts/gr-reviewer-suggestions-provider/gr-reviewer-suggestions-provider';
|
|
import {util} from '../scripts/util';
|
|
import {page} from '../utils/page-wrapper-utils';
|
|
import {appContext} from '../services/app-context';
|
|
import {GrAdminApi} from './plugins/gr-admin-api/gr-admin-api';
|
|
import {GrAnnotationActionsContext} from './shared/gr-js-api-interface/gr-annotation-actions-context';
|
|
import {GrAnnotationActionsInterface} from './shared/gr-js-api-interface/gr-annotation-actions-js-api';
|
|
import {GrChangeMetadataApi} from './plugins/gr-change-metadata-api/gr-change-metadata-api';
|
|
import {GrEmailSuggestionsProvider} from '../scripts/gr-email-suggestions-provider/gr-email-suggestions-provider';
|
|
import {GrGroupSuggestionsProvider} from '../scripts/gr-group-suggestions-provider/gr-group-suggestions-provider';
|
|
import {GrEventHelper} from './plugins/gr-event-helper/gr-event-helper';
|
|
import {GrPluginRestApi} from './shared/gr-js-api-interface/gr-plugin-rest-api';
|
|
import {GrRepoApi} from './plugins/gr-repo-api/gr-repo-api';
|
|
import {GrSettingsApi} from './plugins/gr-settings-api/gr-settings-api';
|
|
import {GrStylesApi} from './plugins/gr-styles-api/gr-styles-api';
|
|
import {
|
|
getPluginLoader,
|
|
PluginLoader,
|
|
} from './shared/gr-js-api-interface/gr-plugin-loader';
|
|
import {GrPluginActionContext} from './shared/gr-js-api-interface/gr-plugin-action-context';
|
|
import {
|
|
getPluginNameFromUrl,
|
|
getRestAPI,
|
|
PLUGIN_LOADING_TIMEOUT_MS,
|
|
PRELOADED_PROTOCOL,
|
|
send,
|
|
} from './shared/gr-js-api-interface/gr-api-utils';
|
|
import {getBaseUrl} from '../utils/url-util';
|
|
import {GerritNav} from './core/gr-navigation/gr-navigation';
|
|
import {getRootElement} from '../scripts/rootElement';
|
|
import {rangesEqual} from './diff/gr-diff/gr-diff-utils';
|
|
import {RevisionInfo} from './shared/revision-info/revision-info';
|
|
import {CoverageType} from '../types/types';
|
|
import {_setHiddenScroll, getHiddenScroll} from '../scripts/hiddenscroll';
|
|
import {GerritGlobal} from './shared/gr-js-api-interface/gr-gerrit';
|
|
|
|
export function initGlobalVariables() {
|
|
window.GrDisplayNameUtils = {
|
|
getUserName,
|
|
getDisplayName,
|
|
getAccountDisplayName,
|
|
getGroupDisplayName,
|
|
};
|
|
window.GrAnnotation = GrAnnotation;
|
|
window.GrAttributeHelper = GrAttributeHelper;
|
|
window.GrDiffLine = GrDiffLine;
|
|
window.GrDiffLineType = GrDiffLineType;
|
|
window.GrDiffGroup = GrDiffGroup;
|
|
window.GrDiffGroupType = GrDiffGroupType;
|
|
window.GrDiffBuilder = GrDiffBuilder;
|
|
window.GrDiffBuilderSideBySide = GrDiffBuilderSideBySide;
|
|
window.GrDiffBuilderImage = GrDiffBuilderImage;
|
|
window.GrDiffBuilderUnified = GrDiffBuilderUnified;
|
|
window.GrDiffBuilderBinary = GrDiffBuilderBinary;
|
|
window.GrChangeActionsInterface = GrChangeActionsInterface;
|
|
window.GrChangeReplyInterface = GrChangeReplyInterface;
|
|
window.GrEditConstants = GrEditConstants;
|
|
window.GrDomHooksManager = GrDomHooksManager;
|
|
window.GrDomHook = GrDomHook;
|
|
window.GrEtagDecorator = GrEtagDecorator;
|
|
window.GrThemeApi = GrThemeApi;
|
|
window.SiteBasedCache = SiteBasedCache;
|
|
window.FetchPromisesCache = FetchPromisesCache;
|
|
window.GrRestApiHelper = GrRestApiHelper;
|
|
window.GrLinkTextParser = GrLinkTextParser;
|
|
window.GrPluginEndpoints = GrPluginEndpoints;
|
|
window.GrReviewerUpdatesParser = GrReviewerUpdatesParser;
|
|
window.GrPopupInterface = GrPopupInterface;
|
|
window.GrCountStringFormatter = GrCountStringFormatter;
|
|
window.GrReviewerSuggestionsProvider = GrReviewerSuggestionsProvider;
|
|
window.util = util;
|
|
window.page = page;
|
|
window.Auth = appContext.authService;
|
|
window.EventEmitter = appContext.eventEmitter;
|
|
window.GrAdminApi = GrAdminApi;
|
|
window.GrAnnotationActionsContext = GrAnnotationActionsContext;
|
|
window.GrAnnotationActionsInterface = GrAnnotationActionsInterface;
|
|
window.GrChangeMetadataApi = GrChangeMetadataApi;
|
|
window.GrEmailSuggestionsProvider = GrEmailSuggestionsProvider;
|
|
window.GrGroupSuggestionsProvider = GrGroupSuggestionsProvider;
|
|
window.GrEventHelper = GrEventHelper;
|
|
window.GrPluginRestApi = GrPluginRestApi;
|
|
window.GrRepoApi = GrRepoApi;
|
|
window.GrSettingsApi = GrSettingsApi;
|
|
window.GrStylesApi = GrStylesApi;
|
|
window.PluginLoader = PluginLoader;
|
|
window.GrPluginActionContext = GrPluginActionContext;
|
|
|
|
window._apiUtils = {
|
|
getPluginNameFromUrl,
|
|
send,
|
|
getRestAPI,
|
|
getBaseUrl,
|
|
PRELOADED_PROTOCOL,
|
|
PLUGIN_LOADING_TIMEOUT_MS,
|
|
};
|
|
|
|
window.Gerrit = (window.Gerrit || {}) as GerritGlobal;
|
|
window.Gerrit.Nav = GerritNav;
|
|
window.Gerrit.getRootElement = getRootElement;
|
|
window.Gerrit.Auth = appContext.authService;
|
|
|
|
window.Gerrit._pluginLoader = getPluginLoader();
|
|
// TODO: should define as a getter
|
|
window.Gerrit._endpoints = getPluginEndpoints();
|
|
|
|
// TODO(TS): seems not used, probably just remove
|
|
window.Gerrit.slotToContent = (slot: any) => slot;
|
|
window.Gerrit.rangesEqual = rangesEqual;
|
|
window.Gerrit.SUGGESTIONS_PROVIDERS_USERS_TYPES = SUGGESTIONS_PROVIDERS_USERS_TYPES;
|
|
window.Gerrit.RevisionInfo = RevisionInfo;
|
|
window.Gerrit.CoverageType = CoverageType;
|
|
Object.defineProperty(window.Gerrit, 'hiddenscroll', {
|
|
get: getHiddenScroll,
|
|
set: _setHiddenScroll,
|
|
});
|
|
}
|