Get rid of global moment and page

* Replace the global moment and page variables with named imports.
* Update gr-app-global-var-init.js

Change-Id: I3e084539332efd8344fb76b56b405ffd69bec03f
This commit is contained in:
Dmitrii Filippov
2020-03-24 16:20:44 +01:00
parent cd1a06940b
commit 8a856ffa6c
18 changed files with 28 additions and 14 deletions

View File

@@ -189,8 +189,6 @@ module.exports = {
"Polymer": "readonly",
"ShadyCSS": "readonly",
"linkify": "readonly",
"moment": "readonly",
"page": "readonly",
"security": "readonly",
},
"overrides": [

View File

@@ -27,6 +27,7 @@ import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-create-group-dialog_html.js';
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {URLEncodingBehavior} from '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js';
import page from 'page/page.mjs';
/**
* @extends Polymer.Element

View File

@@ -34,6 +34,8 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-create-group-dialog.js';
import page from 'page/page.mjs';
suite('gr-create-group-dialog tests', () => {
let element;
let sandbox;

View File

@@ -29,6 +29,7 @@ import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-create-pointer-dialog_html.js';
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {URLEncodingBehavior} from '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js';
import page from 'page/page.mjs';
const DETAIL_TYPES = {
branches: 'branches',

View File

@@ -30,6 +30,7 @@ import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-create-repo-dialog_html.js';
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {URLEncodingBehavior} from '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js';
import page from 'page/page.mjs';
/**
* @extends Polymer.Element

View File

@@ -34,6 +34,7 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-repo-detail-list.js';
import page from 'page/page.mjs';
import {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';
let counter;
const branchGenerator = () => {

View File

@@ -34,6 +34,8 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-repo-list.js';
import page from 'page/page.mjs';
let counter;
const repoGenerator = () => {
return {

View File

@@ -30,6 +30,7 @@ import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-change-list-view_html.js';
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {URLEncodingBehavior} from '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js';
import page from 'page/page.mjs';
const LookupQueryPatterns = {
CHANGE_ID: /^\s*i?[0-9a-f]{7,40}\s*$/i,

View File

@@ -34,6 +34,8 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-change-list-view.js';
import page from 'page/page.mjs';
const CHANGE_ID = 'IcA3dAB3edAB9f60B8dcdA6ef71A75980e4B7127';
const COMMIT_HASH = '12345678';

View File

@@ -24,7 +24,6 @@ import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-l
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import page from 'page/page.mjs';
self.page = page;
import {htmlTemplate} from './gr-router_html.js';
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {PatchSetBehavior} from '../../../behaviors/gr-patch-set-behavior/gr-patch-set-behavior.js';

View File

@@ -33,6 +33,7 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-router.js';
import page from 'page/page.mjs';
suite('gr-router tests', () => {
let element;
let sandbox;
@@ -149,9 +150,8 @@ suite('gr-router tests', () => {
const requiresAuth = {};
const doesNotRequireAuth = {};
sandbox.stub(Gerrit.Nav, 'setup');
sandbox.stub(window.page, 'start');
sandbox.stub(window.page, 'base');
sandbox.stub(window, 'page');
sandbox.stub(page, 'start');
sandbox.stub(page, 'base');
sandbox.stub(element, '_mapRoute', (pattern, methodName, usesAuth) => {
if (usesAuth) {
requiresAuth[methodName] = true;
@@ -676,11 +676,10 @@ suite('gr-router tests', () => {
const onRegisteringExit = (match, _onExit) => {
onExit = _onExit;
};
sandbox.stub(window.page, 'exit', onRegisteringExit);
sandbox.stub(page, 'exit', onRegisteringExit);
sandbox.stub(Gerrit.Nav, 'setup');
sandbox.stub(window.page, 'start');
sandbox.stub(window.page, 'base');
sandbox.stub(window, 'page');
sandbox.stub(page, 'start');
sandbox.stub(page, 'base');
element._startRouter();
const appElementStub = {dispatchEvent: sinon.stub()};

View File

@@ -34,6 +34,8 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-documentation-search.js';
import page from 'page/page.mjs';
let counter;
const documentationGenerator = () => {
return {

View File

@@ -45,8 +45,6 @@ import {mixinBehaviors} from '@polymer/polymer/lib/legacy/class.js';
import {GestureEventListeners} from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import moment from 'moment/src/moment.js';
self.moment = moment;
import {htmlTemplate} from './gr-app-element_html.js';
import {BaseUrlBehavior} from '../behaviors/base-url-behavior/base-url-behavior.js';
import {KeyboardShortcutBehavior} from '../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-behavior.js';

View File

@@ -48,6 +48,8 @@ import {GrRangeNormalizer} from './diff/gr-diff-highlight/gr-range-normalizer.js
import {GrCountStringFormatter} from './shared/gr-count-string-formatter/gr-count-string-formatter.js';
import {GrReviewerSuggestionsProvider} from '../scripts/gr-reviewer-suggestions-provider/gr-reviewer-suggestions-provider.js';
import {util} from '../scripts/util.js';
import moment from 'moment/src/moment.js';
import page from 'page/page.mjs';
export function initGlobalVariables() {
window.GrDisplayNameUtils = GrDisplayNameUtils;
@@ -79,4 +81,6 @@ export function initGlobalVariables() {
window.GrCountStringFormatter = GrCountStringFormatter;
window.GrReviewerSuggestionsProvider = GrReviewerSuggestionsProvider;
window.util = util;
window.moment = moment;
window.page = page;
}

View File

@@ -25,6 +25,7 @@ import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-date-formatter_html.js';
import {TooltipBehavior} from '../../../behaviors/gr-tooltip-behavior/gr-tooltip-behavior.js';
import {util} from '../../../scripts/util.js';
import moment from 'moment/src/moment.js';
const Duration = {
HOUR: 1000 * 60 * 60,

View File

@@ -27,6 +27,7 @@ import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-list-view_html.js';
import {BaseUrlBehavior} from '../../../behaviors/base-url-behavior/base-url-behavior.js';
import {URLEncodingBehavior} from '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js';
import page from 'page/page.mjs';
const REQUEST_DEBOUNCE_INTERVAL_MS = 200;

View File

@@ -33,6 +33,8 @@ limitations under the License.
<script type="module">
import '../../../test/common-test-setup.js';
import './gr-list-view.js';
import page from 'page/page.mjs';
suite('gr-list-view tests', () => {
let element;
let sandbox;

View File

@@ -19,10 +19,9 @@ import '../scripts/bundled-polymer.js';
import 'polymer-resin/standalone/polymer-resin.js';
import '@polymer/iron-test-helpers/iron-test-helpers.js';
import './test-router.js';
import moment from 'moment/src/moment.js';
import {SafeTypes} from '../behaviors/safe-types-behavior/safe-types-behavior.js';
import {initAppContext} from '../services/app-context-init.js';
self.moment = moment;
security.polymer_resin.install({
allowedIdentifierPrefixes: [''],
reportHandler(isViolation, fmt, ...args) {