Use imported DisplayNameBehavior
This change removes usage of global Gerrit.DisplayNameBehavior and
replace it with direct import. Also, the DisplayNameMixin is removed,
because it was introduced as a workaround for polylint tests and is no
longer needed.
Change-Id: I7b350f9b5daf1ad234b35287c6899341a2cbf024
diff --git a/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior.js b/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior.js
index af3ce64..e16ef77 100644
--- a/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior.js
+++ b/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior.js
@@ -16,42 +16,26 @@
*/
import '../../scripts/gr-display-name-utils/gr-display-name-utils.js';
-(function(window) {
- 'use strict';
+/** @polymerBehavior Gerrit.DisplayNameBehavior */
+export const DisplayNameBehavior = {
+ // TODO(dmfilippov) replace DisplayNameBehavior with GrDisplayNameUtils
- window.Gerrit = window.Gerrit || {};
+ getUserName(config, account) {
+ return GrDisplayNameUtils.getUserName(config, account);
+ },
- /** @polymerBehavior Gerrit.DisplayNameBehavior */
- Gerrit.DisplayNameBehavior = {
- // TODO(dmfilippov) replace DisplayNameBehavior with GrDisplayNameUtils
+ getDisplayName(config, account) {
+ return GrDisplayNameUtils.getDisplayName(config, account);
+ },
- getUserName(config, account) {
- return GrDisplayNameUtils.getUserName(config, account);
- },
+ getGroupDisplayName(group) {
+ return GrDisplayNameUtils.getGroupDisplayName(group);
+ },
+};
- getDisplayName(config, account) {
- return GrDisplayNameUtils.getDisplayName(config, account);
- },
-
- getGroupDisplayName(group) {
- return GrDisplayNameUtils.getGroupDisplayName(group);
- },
- };
-
- // eslint-disable-next-line no-unused-vars
- function defineEmptyMixin() {
- // This is a temporary function.
- // Polymer linter doesn't process correctly the following code:
- // class MyElement extends Polymer.mixinBehaviors([legacyBehaviors], ...) {...}
- // To workaround this issue, the mock mixin is declared in this method.
- // In the following changes, legacy behaviors will be converted to mixins.
-
- /**
- * @polymer
- * @mixinFunction
- */
- Gerrit.DisplayNameMixin = base =>
- class extends base {
- };
- }
-})(window);
+// TODO(dmfilippov) Remove the following lines with assignments
+// Plugins can use the behavior because it was accessible with
+// the global Gerrit... variable. To avoid breaking changes in plugins
+// temporary assign global variables.
+window.Gerrit = window.Gerrit || {};
+window.Gerrit.DisplayNameBehavior = DisplayNameBehavior;
diff --git a/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior_test.html b/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior_test.html
index e4fc3f2..fe78220 100644
--- a/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior_test.html
+++ b/polygerrit-ui/app/behaviors/gr-display-name-behavior/gr-display-name-behavior_test.html
@@ -31,8 +31,8 @@
<script type="module">
import '../../test/common-test-setup.js';
-import './gr-display-name-behavior.js';
import {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';
+import {DisplayNameBehavior} from './gr-display-name-behavior.js';
suite('gr-display-name-behavior tests', () => {
let element;
// eslint-disable-next-line no-unused-vars
@@ -47,7 +47,7 @@
Polymer({
is: 'test-element-anon',
behaviors: [
- Gerrit.DisplayNameBehavior,
+ DisplayNameBehavior,
],
});
});
diff --git a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.js b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.js
index 444986b..2645c63 100644
--- a/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.js
+++ b/polygerrit-ui/app/elements/core/gr-account-dropdown/gr-account-dropdown.js
@@ -14,8 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import '../../../behaviors/gr-display-name-behavior/gr-display-name-behavior.js';
-
import '../../../scripts/bundled-polymer.js';
import '../../shared/gr-button/gr-button.js';
import '../../shared/gr-dropdown/gr-dropdown.js';
@@ -27,15 +25,15 @@
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-account-dropdown_html.js';
+import {DisplayNameBehavior} from '../../../behaviors/gr-display-name-behavior/gr-display-name-behavior.js';
const INTERPOLATE_URL_PATTERN = /\$\{([\w]+)\}/g;
/**
- * @appliesMixin Gerrit.DisplayNameMixin
* @extends Polymer.Element
*/
class GrAccountDropdown extends mixinBehaviors( [
- Gerrit.DisplayNameBehavior,
+ DisplayNameBehavior,
], GestureEventListeners(
LegacyElementMixin(
PolymerElement))) {
diff --git a/polygerrit-ui/app/elements/core/gr-smart-search/gr-smart-search.js b/polygerrit-ui/app/elements/core/gr-smart-search/gr-smart-search.js
index b27adf7..305d2c1 100644
--- a/polygerrit-ui/app/elements/core/gr-smart-search/gr-smart-search.js
+++ b/polygerrit-ui/app/elements/core/gr-smart-search/gr-smart-search.js
@@ -16,7 +16,6 @@
*/
import '../../../scripts/bundled-polymer.js';
-import '../../../behaviors/gr-display-name-behavior/gr-display-name-behavior.js';
import '../gr-navigation/gr-navigation.js';
import '../../shared/gr-rest-api-interface/gr-rest-api-interface.js';
import '../gr-search-bar/gr-search-bar.js';
@@ -25,17 +24,17 @@
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-smart-search_html.js';
+import {DisplayNameBehavior} from '../../../behaviors/gr-display-name-behavior/gr-display-name-behavior.js';
const MAX_AUTOCOMPLETE_RESULTS = 10;
const SELF_EXPRESSION = 'self';
const ME_EXPRESSION = 'me';
/**
- * @appliesMixin Gerrit.DisplayNameMixin
* @extends Polymer.Element
*/
class GrSmartSearch extends mixinBehaviors( [
- Gerrit.DisplayNameBehavior,
+ DisplayNameBehavior,
], GestureEventListeners(
LegacyElementMixin(
PolymerElement))) {
diff --git a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.js b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.js
index ef835f0..9273e24 100644
--- a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.js
+++ b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.js
@@ -17,7 +17,6 @@
import '../../../scripts/bundled-polymer.js';
import '@polymer/iron-icon/iron-icon.js';
-import '../../../behaviors/gr-display-name-behavior/gr-display-name-behavior.js';
import '../../../behaviors/gr-tooltip-behavior/gr-tooltip-behavior.js';
import '../../../styles/shared-styles.js';
import '../gr-avatar/gr-avatar.js';
@@ -29,13 +28,13 @@
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
import {PolymerElement} from '@polymer/polymer/polymer-element.js';
import {htmlTemplate} from './gr-account-label_html.js';
+import {DisplayNameBehavior} from '../../../behaviors/gr-display-name-behavior/gr-display-name-behavior.js';
/**
- * @appliesMixin Gerrit.DisplayNameMixin
* @extends Polymer.Element
*/
class GrAccountLabel extends mixinBehaviors( [
- Gerrit.DisplayNameBehavior,
+ DisplayNameBehavior,
], GestureEventListeners(
LegacyElementMixin(
PolymerElement))) {