Merge "Fix all remaining lit lint errors"
diff --git a/polygerrit-ui/app/BUILD b/polygerrit-ui/app/BUILD
index 80e208d..c721c7d 100644
--- a/polygerrit-ui/app/BUILD
+++ b/polygerrit-ui/app/BUILD
@@ -280,5 +280,6 @@
"--strict",
"--rules.no-property-visibility-mismatch off",
"--rules.no-incompatible-property-type off",
+ "--rules.no-incompatible-type-binding off",
],
)
diff --git a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
index 762bffc..10ca808 100644
--- a/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
+++ b/polygerrit-ui/app/elements/admin/gr-admin-view/gr-admin-view.ts
@@ -62,6 +62,7 @@
import {sharedStyles} from '../../../styles/shared-styles';
import {LitElement, PropertyValues, css, html} from 'lit';
import {customElement, property, state} from 'lit/decorators';
+import {ifDefined} from 'lit/directives/if-defined';
const INTERNAL_GROUP_REGEX = /^[\da-f]{40}$/;
@@ -252,8 +253,7 @@
</span>
<gr-dropdown-list
id="pageSelect"
- lowercase
- value=${this.computeSelectValue()}
+ value=${ifDefined(this.computeSelectValue())}
.items=${this.subsectionLinks}
@value-change=${this.handleSubsectionChange}
>
diff --git a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.ts b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.ts
index bed1c54..119b905 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.ts
+++ b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog.ts
@@ -142,8 +142,6 @@
<span class="title">Provide base commit sha1 for change</span>
<span class="value">
<iron-input
- maxlength="40"
- placeholder="(optional)"
.bindValue=${this.baseCommit}
@bind-value-changed=${(e: BindValueChangeEvent) => {
this.baseCommit = e.detail.value;
@@ -161,8 +159,6 @@
<span class="title">Enter topic for new change</span>
<span class="value">
<iron-input
- maxlength="1024"
- placeholder="(optional)"
.bindValue=${this.topic}
@bind-value-changed=${(e: BindValueChangeEvent) => {
this.topic = e.detail.value;
diff --git a/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members.ts b/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members.ts
index a4a910b..8a0068b 100644
--- a/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members.ts
+++ b/polygerrit-ui/app/elements/admin/gr-group-members/gr-group-members.ts
@@ -49,6 +49,7 @@
import {tableStyles} from '../../../styles/gr-table-styles';
import {LitElement, css, html} from 'lit';
import {customElement, property, query, state} from 'lit/decorators';
+import {ifDefined} from 'lit/directives/if-defined';
const SUGGESTIONS_LIMIT = 15;
const SAVING_ERROR_TEXT =
@@ -305,7 +306,7 @@
private renderIncludedGroupHref(group: GroupInfo) {
if (group.url) {
return html`
- <a href=${this.computeGroupUrl(group.url)} rel="noopener">
+ <a href=${ifDefined(this.computeGroupUrl(group.url))} rel="noopener">
${group.name}
</a>
`;
diff --git a/polygerrit-ui/app/elements/admin/gr-group/gr-group.ts b/polygerrit-ui/app/elements/admin/gr-group/gr-group.ts
index 0b01d45..8faa5e7 100644
--- a/polygerrit-ui/app/elements/admin/gr-group/gr-group.ts
+++ b/polygerrit-ui/app/elements/admin/gr-group/gr-group.ts
@@ -182,7 +182,7 @@
@text-changed=${this.handleNameTextChanged}
></gr-autocomplete>
</span>
- <span class="value" ?disabled=${this.computeGroupDisabled()}>
+ <span class="value">
<gr-button
id="inputUpdateNameBtn"
?disabled=${!groupNameEdited}
@@ -218,7 +218,7 @@
>
</gr-autocomplete>
</span>
- <span class="value" ?disabled=${this.computeGroupDisabled()}>
+ <span class="value">
<gr-button
id="inputUpdateOwnerBtn"
?disabled=${!groupOwnerNameEdited}
@@ -250,7 +250,7 @@
@text-changed=${this.handleDescriptionTextChanged}
></gr-textarea>
</div>
- <span class="value" ?disabled=${this.computeGroupDisabled()}>
+ <span class="value">
<gr-button
?disabled=${!groupDescriptionEdited}
@click=${this.handleSaveDescription}
@@ -302,7 +302,7 @@
</gr-select>
</span>
</section>
- <span class="value" ?disabled=${this.computeGroupDisabled()}>
+ <span class="value">
<gr-button
?disabled=${!groupOptionsEdited}
@click=${this.handleSaveOptions}
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-commands/gr-repo-commands.ts b/polygerrit-ui/app/elements/admin/gr-repo-commands/gr-repo-commands.ts
index b86c9b9..990b34d 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo-commands/gr-repo-commands.ts
+++ b/polygerrit-ui/app/elements/admin/gr-repo-commands/gr-repo-commands.ts
@@ -137,7 +137,7 @@
<gr-endpoint-decorator name="repo-command">
<gr-endpoint-param name="config" .value=${this.repoConfig}>
</gr-endpoint-param>
- <gr-endpoint-param name="repoName" value="${this.repo}">
+ <gr-endpoint-param name="repoName" .value="${this.repo}">
</gr-endpoint-param>
</gr-endpoint-decorator>
</div>
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list.ts b/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list.ts
index 02121f9..6186573 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list.ts
+++ b/polygerrit-ui/app/elements/admin/gr-repo-detail-list/gr-repo-detail-list.ts
@@ -49,6 +49,7 @@
import {customElement, query, property, state} from 'lit/decorators';
import {BindValueChangeEvent} from '../../../types/events';
import {assertIsDefined} from '../../../utils/common-util';
+import {ifDefined} from 'lit/directives/if-defined';
const PGP_START = '-----BEGIN PGP SIGNATURE-----';
@@ -248,7 +249,7 @@
return html`
<tr class="table">
<td class="${this.detailType} name">
- <a href=${this.computeFirstWebLink(item)}>
+ <a href=${ifDefined(this.computeFirstWebLink(item))}>
${this.stripRefs(item.ref, this.detailType)}
</a>
</td>
@@ -467,7 +468,7 @@
private computeFirstWebLink(repo: ProjectInfo | BranchInfo | TagInfo) {
const webLinks = this.computeWeblink(repo);
- return webLinks.length > 0 ? webLinks[0].url : null;
+ return webLinks.length > 0 ? webLinks[0].url : undefined;
}
// private but used in test
diff --git a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
index d21feae..5fc7bc8 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
+++ b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
@@ -599,7 +599,6 @@
id="maxGitObjSizeIronInput"
.bindValue=${this.repoConfig?.max_object_size_limit
?.configured_value}
- ?disabled=${this.readOnly}
@bind-value-changed=${this.handleMaxGitObjSizeBindValueChanged}
>
<input
diff --git a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.ts b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.ts
index 3b180df..4d0f2c4 100644
--- a/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.ts
+++ b/polygerrit-ui/app/elements/admin/gr-rule-editor/gr-rule-editor.ts
@@ -25,6 +25,7 @@
import {LitElement, PropertyValues, html, css} from 'lit';
import {customElement, property, state} from 'lit/decorators';
import {BindValueChangeEvent} from '../../../types/events';
+import {ifDefined} from 'lit/directives/if-defined';
/**
* Fired when the rule has been modified or removed.
@@ -223,7 +224,10 @@
</select>
</gr-select>
${this.renderMinAndMaxLabel()} ${this.renderMinAndMaxInput()}
- <a class="groupPath" href="${this.computeGroupPath(this.groupId)}">
+ <a
+ class="groupPath"
+ href="${ifDefined(this.computeGroupPath(this.groupId))}"
+ >
${this.groupName}
</a>
<gr-select
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.ts b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.ts
index c161204..12df6aa 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.ts
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list-item/gr-change-list-item.ts
@@ -54,6 +54,7 @@
import {LitElement, css, html} from 'lit';
import {customElement, property, state} from 'lit/decorators';
import {submitRequirementsStyles} from '../../../styles/gr-submit-requirements-styles';
+import {ifDefined} from 'lit/directives/if-defined';
enum ChangeSize {
XS = 10,
@@ -81,7 +82,9 @@
'gr-change-list-item': GrChangeListItem;
}
}
-
+/**
+ * @attr {Boolean} selected - change list item is selected by cursor
+ */
@customElement('gr-change-list-item')
export class GrChangeListItem extends LitElement {
/** The logged-in user's account, or null if no user is logged in. */
@@ -307,7 +310,7 @@
return html`
<td class="cell subject">
<a
- title="${this.change?.subject}"
+ title="${ifDefined(this.change?.subject)}"
href="${changeUrl}"
@click=${() => this.handleChangeClick()}
>
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
index 92547e5..dfe4720b 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
@@ -27,7 +27,6 @@
} from '../../core/gr-navigation/gr-navigation';
import {getPluginEndpoints} from '../../shared/gr-js-api-interface/gr-plugin-endpoints';
import {getPluginLoader} from '../../shared/gr-js-api-interface/gr-plugin-loader';
-import {isOwner} from '../../../utils/change-util';
import {GrCursorManager} from '../../shared/gr-cursor-manager/gr-cursor-manager';
import {
AccountInfo,
@@ -35,7 +34,6 @@
ServerInfo,
PreferencesInput,
} from '../../../types/common';
-import {hasAttention} from '../../../utils/attention-set-util';
import {fire, fireEvent, fireReload} from '../../../utils/event-util';
import {ScrollMode} from '../../../constants/constants';
import {
@@ -55,7 +53,6 @@
import {ValueChangedEvent} from '../../../types/events';
const NUMBER_FIXED_COLUMNS = 3;
-const CLOSED_STATUS = ['MERGED', 'ABANDONED'];
const LABEL_PREFIX_INVALID_PROLOG = 'Invalid-Prolog-Rules-Label-Name--';
const MAX_SHORTCUT_CHARS = 5;
@@ -364,11 +361,6 @@
labelNames: string[]
) {
const ariaLabel = this.computeAriaLabel(change, changeSection.name);
- const highlight = this.computeItemHighlight(
- this.account,
- change,
- changeSection.name
- );
const selected = this.computeItemSelected(
sectionIndex,
index,
@@ -385,7 +377,6 @@
<gr-change-list-item
.account=${this.account}
?selected=${selected}
- .highlight=${highlight}
.change=${change}
.config=${this.config}
.sectionName=${changeSection.name}
@@ -605,20 +596,6 @@
: undefined;
}
- private computeItemHighlight(
- account?: AccountInfo,
- change?: ChangeInfo,
- sectionName?: string
- ) {
- if (!change || !account) return false;
- if (CLOSED_STATUS.indexOf(change.status) !== -1) return false;
- return (
- hasAttention(account, change) &&
- !isOwner(change, account) &&
- sectionName === YOUR_TURN.name
- );
- }
-
private nextChange() {
this.isCursorMoving = true;
this.cursor.next();
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-image-viewer/gr-image-viewer.ts b/polygerrit-ui/app/elements/diff/gr-diff-image-viewer/gr-image-viewer.ts
index 32f5f39..290773b 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-image-viewer/gr-image-viewer.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-image-viewer/gr-image-viewer.ts
@@ -30,6 +30,7 @@
import {css, html, LitElement, PropertyValues} from 'lit';
import {customElement, property, query, state} from 'lit/decorators';
+import {ifDefined} from 'lit/directives/if-defined';
import {classMap} from 'lit/directives/class-map';
import {StyleInfo, styleMap} from 'lit/directives/style-map';
@@ -435,7 +436,7 @@
// layer.
'pointer-events': this.showHighlight ? 'auto' : 'none',
})}"
- src="${this.diffHighlightSrc}"
+ src="${ifDefined(this.diffHighlightSrc)}"
/>
</div>
`;
diff --git a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.ts b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.ts
index c4ffad4..eeb636f 100644
--- a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.ts
+++ b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.ts
@@ -53,6 +53,7 @@
import {subscribe} from '../../lit/subscription-controller';
import {commentsModelToken} from '../../../models/comments/comments-model';
import {resolve} from '../../../models/dependency';
+import {ifDefined} from 'lit/directives/if-defined';
// Maximum length for patch set descriptions.
const PATCH_DESC_MAX_LENGTH = 500;
@@ -205,7 +206,7 @@
return html`<span class="filesWeblinks">
${fileLinks.map(
weblink => html`
- <a target="_blank" rel="noopener" href="${weblink.url}">
+ <a target="_blank" rel="noopener" href="${ifDefined(weblink.url)}">
${weblink.name}
</a>
`
diff --git a/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts b/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts
index 70de130..a0b3274 100644
--- a/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts
+++ b/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts
@@ -311,7 +311,9 @@
link
aria-label="Remove vote"
@click="${this.onDeleteVote}"
- data-account-id="${ifDefined(reviewer._account_id)}"
+ data-account-id="${ifDefined(
+ reviewer._account_id as number | undefined
+ )}"
class="deleteBtn ${this.computeDeleteClass(
reviewer,
this.mutable,