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,
 | |
|   });
 | |
| }
 | 
