Fix gr-create-change-dialog types
Change-Id: Iec9847c835a7204b90bca2162286369c50f951ea
diff --git a/polygerrit-ui/app/BUILD b/polygerrit-ui/app/BUILD
index 85e948f..cc62f05 100644
--- a/polygerrit-ui/app/BUILD
+++ b/polygerrit-ui/app/BUILD
@@ -96,7 +96,6 @@
ignore_templates_list = [
"elements/admin/gr-access-section/gr-access-section_html.ts",
"elements/admin/gr-admin-view/gr-admin-view_html.ts",
- "elements/admin/gr-create-change-dialog/gr-create-change-dialog_html.ts",
"elements/admin/gr-create-repo-dialog/gr-create-repo-dialog_html.ts",
"elements/admin/gr-group-members/gr-group-members_html.ts",
"elements/admin/gr-group/gr-group_html.ts",
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 63b10ec..15f6f4b 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
@@ -32,7 +32,7 @@
InheritedBooleanInfo,
} from '../../../types/common';
import {InheritedBooleanInfoConfiguredValue} from '../../../constants/constants';
-import {GrAutocomplete} from '../../shared/gr-autocomplete/gr-autocomplete';
+import {GrTypedAutocomplete} from '../../shared/gr-autocomplete/gr-autocomplete';
import {IronAutogrowTextareaElement} from '@polymer/iron-autogrow-textarea/iron-autogrow-textarea';
import {appContext} from '../../../services/app-context';
import {Subject} from 'rxjs';
@@ -41,6 +41,7 @@
serverConfig$,
} from '../../../services/config/config-model';
import {takeUntil} from 'rxjs/operators';
+import {IronInputElement} from '@polymer/iron-input/iron-input';
const SUGGESTIONS_LIMIT = 15;
const REF_PREFIX = 'refs/heads/';
@@ -48,8 +49,8 @@
export interface GrCreateChangeDialog {
$: {
privateChangeCheckBox: HTMLInputElement;
- branchInput: GrAutocomplete;
- tagNameInput: HTMLInputElement;
+ branchInput: GrTypedAutocomplete<BranchName>;
+ tagNameInput: IronInputElement;
messageInput: IronAutogrowTextareaElement;
};
}
@@ -63,19 +64,19 @@
repoName?: RepoName;
@property({type: String})
- branch?: BranchName;
+ branch = '' as BranchName;
@property({type: Object})
_repoConfig?: ConfigInfo;
@property({type: String})
- subject?: string;
+ subject = '';
@property({type: String})
topic?: string;
@property({type: Object})
- _query?: (input: string) => Promise<{name: string}[]>;
+ _query?: (input: string) => Promise<{name: BranchName}[]>;
@property({type: String})
baseChange?: ChangeId;
@@ -90,7 +91,7 @@
canCreate = false;
@property({type: Boolean})
- _privateChangesEnabled?: boolean;
+ _privateChangesEnabled = false;
restApiService = appContext.restApiService;
@@ -120,7 +121,7 @@
super.disconnectedCallback();
}
- _computeBranchClass(baseChange: boolean) {
+ _computeBranchClass(baseChange?: ChangeId) {
return baseChange ? 'hide' : '';
}
@@ -165,19 +166,19 @@
.getRepoBranches(input, this.repoName, SUGGESTIONS_LIMIT)
.then(response => {
if (!response) return [];
- const branches = [];
+ const branches: Array<{name: BranchName}> = [];
for (const branchInfo of response) {
let name: string = branchInfo.ref;
if (name.startsWith('refs/heads/')) {
name = name.substring('refs/heads/'.length);
}
- branches.push({name});
+ branches.push({name: name as BranchName});
}
return branches;
});
}
- _formatBooleanString(config: InheritedBooleanInfo) {
+ _formatBooleanString(config?: InheritedBooleanInfo) {
if (
config &&
config.configured_value === InheritedBooleanInfoConfiguredValue.TRUE
diff --git a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.ts b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.ts
index a9de24a..9ed5d81 100644
--- a/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.ts
+++ b/polygerrit-ui/app/elements/admin/gr-create-change-dialog/gr-create-change-dialog_test.ts
@@ -20,7 +20,11 @@
import {GrCreateChangeDialog} from './gr-create-change-dialog';
import {BranchName, GitRef, RepoName} from '../../../types/common';
import {InheritedBooleanInfoConfiguredValue} from '../../../constants/constants';
-import {createChange, createConfig} from '../../../test/test-data-generators';
+import {
+ createChange,
+ createConfig,
+ TEST_CHANGE_ID,
+} from '../../../test/test-data-generators';
import {stubRestApi} from '../../../test/test-utils';
const basicFixture = fixtureFromElement('gr-create-change-dialog');
@@ -130,8 +134,8 @@
});
test('_computeBranchClass', () => {
- assert.equal(element._computeBranchClass(true), 'hide');
- assert.equal(element._computeBranchClass(false), '');
+ assert.equal(element._computeBranchClass(TEST_CHANGE_ID), 'hide');
+ assert.equal(element._computeBranchClass(undefined), '');
});
test('_computePrivateSectionClass', () => {