Merge "Fix dark mode for gr-textarea"
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 4e8841e..2251321 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
+++ b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
@@ -815,7 +815,7 @@
config.max_object_size_limit.configured_value = '';
}
this.repoConfig = config;
- this.originalConfig = deepClone(config) as ConfigInfo;
+ this.originalConfig = deepClone<ConfigInfo>(config);
this.loading = false;
};
promises.push(repoConfigHelper());
@@ -920,7 +920,7 @@
this.repo,
this.formatRepoConfigForSave(this.repoConfig)
);
- this.originalConfig = deepClone(this.repoConfig) as ConfigInfo;
+ this.originalConfig = deepClone<ConfigInfo>(this.repoConfig);
this.pluginConfigChanged = false;
return;
}
diff --git a/polygerrit-ui/app/elements/settings/gr-email-editor/gr-email-editor.ts b/polygerrit-ui/app/elements/settings/gr-email-editor/gr-email-editor.ts
index 8f84d3e..e5c2bc2 100644
--- a/polygerrit-ui/app/elements/settings/gr-email-editor/gr-email-editor.ts
+++ b/polygerrit-ui/app/elements/settings/gr-email-editor/gr-email-editor.ts
@@ -112,7 +112,7 @@
loadData() {
return this.restApiService.getAccountEmails().then(emails => {
if (!emails) return;
- this.originalEmails = deepClone(emails) as EmailInfo[];
+ this.originalEmails = deepClone<EmailInfo[]>(emails);
this.emails = emails;
});
}
diff --git a/polygerrit-ui/app/utils/deep-util.ts b/polygerrit-ui/app/utils/deep-util.ts
index eca528e..ee62d1a 100644
--- a/polygerrit-ui/app/utils/deep-util.ts
+++ b/polygerrit-ui/app/utils/deep-util.ts
@@ -82,7 +82,7 @@
/**
* @param obj Object
*/
-export function deepClone(obj?: object) {
- if (!obj) return undefined;
+export function deepClone<T>(obj: T): T {
+ if (!obj) throw new Error('undefined object for deepClone');
return JSON.parse(JSON.stringify(obj));
}