Convert polygerrit to es6-modules This change replace all HTML imports with es6-modules. The only exceptions are: * gr-app.html file, which can be deleted only after updating the gerrit/httpd/raw/PolyGerritIndexHtml.soy file. * dark-theme.html which is loaded via importHref. Must be updated manually later in a separate change. This change was produced automatically by ./es6-modules-converter.sh script. No manual changes were made. Change-Id: I0c447dd8c05757741e2c940720652d01d9fb7d67
diff --git a/polygerrit-ui/app/elements/shared/gr-list-view/gr-list-view.js b/polygerrit-ui/app/elements/shared/gr-list-view/gr-list-view.js index 8913cd8..d52a912 100644 --- a/polygerrit-ui/app/elements/shared/gr-list-view/gr-list-view.js +++ b/polygerrit-ui/app/elements/shared/gr-list-view/gr-list-view.js
@@ -14,106 +14,119 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -(function() { - 'use strict'; +import '../../../scripts/bundled-polymer.js'; - const REQUEST_DEBOUNCE_INTERVAL_MS = 200; +import '@polymer/iron-input/iron-input.js'; +import '@polymer/iron-icon/iron-icon.js'; +import '../../../behaviors/base-url-behavior/base-url-behavior.js'; +import '../../../behaviors/fire-behavior/fire-behavior.js'; +import '../../../behaviors/gr-url-encoding-behavior/gr-url-encoding-behavior.js'; +import '../../../styles/shared-styles.js'; +import '../gr-button/gr-button.js'; +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 {htmlTemplate} from './gr-list-view_html.js'; - /** - * @appliesMixin Gerrit.BaseUrlMixin - * @appliesMixin Gerrit.FireMixin - * @appliesMixin Gerrit.URLEncodingMixin - * @extends Polymer.Element - */ - class GrListView extends Polymer.mixinBehaviors( [ - Gerrit.BaseUrlBehavior, - Gerrit.FireBehavior, - Gerrit.URLEncodingBehavior, - ], Polymer.GestureEventListeners( - Polymer.LegacyElementMixin( - Polymer.Element))) { - static get is() { return 'gr-list-view'; } +const REQUEST_DEBOUNCE_INTERVAL_MS = 200; - static get properties() { - return { - createNew: Boolean, - items: Array, - itemsPerPage: Number, - filter: { - type: String, - observer: '_filterChanged', - }, - offset: Number, - loading: Boolean, - path: String, - }; - } +/** + * @appliesMixin Gerrit.BaseUrlMixin + * @appliesMixin Gerrit.FireMixin + * @appliesMixin Gerrit.URLEncodingMixin + * @extends Polymer.Element + */ +class GrListView extends mixinBehaviors( [ + Gerrit.BaseUrlBehavior, + Gerrit.FireBehavior, + Gerrit.URLEncodingBehavior, +], GestureEventListeners( + LegacyElementMixin( + PolymerElement))) { + static get template() { return htmlTemplate; } - /** @override */ - detached() { - super.detached(); - this.cancelDebouncer('reload'); - } + static get is() { return 'gr-list-view'; } - _filterChanged(newFilter, oldFilter) { - if (!newFilter && !oldFilter) { - return; - } - - this._debounceReload(newFilter); - } - - _debounceReload(filter) { - this.debounce('reload', () => { - if (filter) { - return page.show(`${this.path}/q/filter:` + - this.encodeURL(filter, false)); - } - page.show(this.path); - }, REQUEST_DEBOUNCE_INTERVAL_MS); - } - - _createNewItem() { - this.fire('create-clicked'); - } - - _computeNavLink(offset, direction, itemsPerPage, filter, path) { - // Offset could be a string when passed from the router. - offset = +(offset || 0); - const newOffset = Math.max(0, offset + (itemsPerPage * direction)); - let href = this.getBaseUrl() + path; - if (filter) { - href += '/q/filter:' + this.encodeURL(filter, false); - } - if (newOffset > 0) { - href += ',' + newOffset; - } - return href; - } - - _computeCreateClass(createNew) { - return createNew ? 'show' : ''; - } - - _hidePrevArrow(loading, offset) { - return loading || offset === 0; - } - - _hideNextArrow(loading, items) { - if (loading || !items || !items.length) { - return true; - } - const lastPage = items.length < this.itemsPerPage + 1; - return lastPage; - } - - // TODO: fix offset (including itemsPerPage) - // to either support a decimal or make it go to the nearest - // whole number (e.g 3). - _computePage(offset, itemsPerPage) { - return offset / itemsPerPage + 1; - } + static get properties() { + return { + createNew: Boolean, + items: Array, + itemsPerPage: Number, + filter: { + type: String, + observer: '_filterChanged', + }, + offset: Number, + loading: Boolean, + path: String, + }; } - customElements.define(GrListView.is, GrListView); -})(); + /** @override */ + detached() { + super.detached(); + this.cancelDebouncer('reload'); + } + + _filterChanged(newFilter, oldFilter) { + if (!newFilter && !oldFilter) { + return; + } + + this._debounceReload(newFilter); + } + + _debounceReload(filter) { + this.debounce('reload', () => { + if (filter) { + return page.show(`${this.path}/q/filter:` + + this.encodeURL(filter, false)); + } + page.show(this.path); + }, REQUEST_DEBOUNCE_INTERVAL_MS); + } + + _createNewItem() { + this.fire('create-clicked'); + } + + _computeNavLink(offset, direction, itemsPerPage, filter, path) { + // Offset could be a string when passed from the router. + offset = +(offset || 0); + const newOffset = Math.max(0, offset + (itemsPerPage * direction)); + let href = this.getBaseUrl() + path; + if (filter) { + href += '/q/filter:' + this.encodeURL(filter, false); + } + if (newOffset > 0) { + href += ',' + newOffset; + } + return href; + } + + _computeCreateClass(createNew) { + return createNew ? 'show' : ''; + } + + _hidePrevArrow(loading, offset) { + return loading || offset === 0; + } + + _hideNextArrow(loading, items) { + if (loading || !items || !items.length) { + return true; + } + const lastPage = items.length < this.itemsPerPage + 1; + return lastPage; + } + + // TODO: fix offset (including itemsPerPage) + // to either support a decimal or make it go to the nearest + // whole number (e.g 3). + _computePage(offset, itemsPerPage) { + return offset / itemsPerPage + 1; + } +} + +customElements.define(GrListView.is, GrListView);