Remove circular dependencies between files
Change-Id: Id03cd6a922ea516f4000819e2d5f161231e24edf
diff --git a/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor.ts b/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor.ts
index 8b77ae4..1ab32ea 100644
--- a/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor.ts
+++ b/polygerrit-ui/app/elements/admin/gr-plugin-config-array-editor/gr-plugin-config-array-editor.ts
@@ -26,8 +26,10 @@
import {htmlTemplate} from './gr-plugin-config-array-editor_html';
import {property, customElement} from '@polymer/decorators';
import {PolymerDeepPropertyChange} from '@polymer/polymer/interfaces';
-import {PluginOption} from '../gr-repo-plugin-config/gr-repo-plugin-config';
-import {ConfigArrayParameterInfo} from '../../../types/common';
+import {
+ PluginConfigOptionsChangedEventDetail,
+ ArrayPluginOption,
+} from '../gr-repo-plugin-config/gr-repo-plugin-config-types';
declare global {
interface HTMLElementTagNameMap {
@@ -35,14 +37,6 @@
}
}
-type ArrayPluginOption = PluginOption<ConfigArrayParameterInfo>;
-
-export interface PluginConfigOptionsChangedEventDetail {
- _key: string;
- info: ConfigArrayParameterInfo;
- notifyPath: string;
-}
-
@customElement('gr-plugin-config-array-editor')
class GrPluginConfigArrayEditor extends GestureEventListeners(
LegacyElementMixin(PolymerElement)
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config-types.ts b/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config-types.ts
new file mode 100644
index 0000000..6a96f55
--- /dev/null
+++ b/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config-types.ts
@@ -0,0 +1,44 @@
+/**
+ * @license
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @fileOverview This file contains interfaces shared between
+ * gr-repo-plugin-config.ts and nested editors
+ * (e.g. gr-plugin-config-array-editor.ts)
+ *
+ * This file is required to avoid circular dependencies between files
+ */
+
+import {
+ ConfigArrayParameterInfo,
+ ConfigParameterInfo,
+ ConfigParameterInfoBase,
+} from '../../../types/common';
+
+export interface PluginOption<
+ T extends ConfigParameterInfoBase = ConfigParameterInfo
+> {
+ _key: string; // parameterName of PluginParameterToConfigParameterInfoMap
+ info: T;
+}
+
+export type ArrayPluginOption = PluginOption<ConfigArrayParameterInfo>;
+
+export interface PluginConfigOptionsChangedEventDetail {
+ _key: string;
+ info: ConfigArrayParameterInfo;
+ notifyPath: string;
+}
diff --git a/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config.ts b/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config.ts
index 443339a..37abb76 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config.ts
+++ b/polygerrit-ui/app/elements/admin/gr-repo-plugin-config/gr-repo-plugin-config.ts
@@ -33,22 +33,17 @@
import {PolymerDeepPropertyChange} from '@polymer/polymer/interfaces';
import {
ConfigParameterInfo,
- ConfigParameterInfoBase,
PluginParameterToConfigParameterInfoMap,
} from '../../../types/common';
import {PaperToggleButtonElement} from '@polymer/paper-toggle-button/paper-toggle-button';
import {IronInputElement} from '@polymer/iron-input/iron-input';
-import {PluginConfigOptionsChangedEventDetail} from '../gr-plugin-config-array-editor/gr-plugin-config-array-editor';
+import {
+ PluginConfigOptionsChangedEventDetail,
+ PluginOption,
+} from './gr-repo-plugin-config-types';
const PLUGIN_CONFIG_CHANGED_EVENT_NAME = 'plugin-config-changed';
-export interface PluginOption<
- T extends ConfigParameterInfoBase = ConfigParameterInfo
-> {
- _key: string; // parameterName of PluginParameterToConfigParameterInfoMap
- info: T;
-}
-
export interface ConfigChangeInfo {
_key: string; // parameterName of PluginParameterToConfigParameterInfoMap
info: ConfigParameterInfo;