From 087ea0127c0acb1d68df7afda9bbb83a59d6bba0 Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Thu, 14 Oct 2021 13:22:18 +0200 Subject: [PATCH] Move unit interface initialisation functions to its own file This keeps import cycles from happening. --- projects/common/classes/buttonElement.ts | 3 ++- projects/common/classes/checkboxElement.ts | 3 ++- projects/common/classes/dropdownElement.ts | 3 ++- .../common/classes/radioButtonGroupElement.ts | 3 ++- projects/common/classes/textAreaElement.ts | 3 ++- projects/common/classes/textElement.ts | 3 ++- projects/common/classes/textFieldElement.ts | 3 ++- projects/common/classes/uIElement.ts | 18 ------------------ .../common/util/unit-interface-initializer.ts | 16 ++++++++++++++++ 9 files changed, 30 insertions(+), 25 deletions(-) create mode 100644 projects/common/util/unit-interface-initializer.ts diff --git a/projects/common/classes/buttonElement.ts b/projects/common/classes/buttonElement.ts index a9681aa2c..906d10c3e 100644 --- a/projects/common/classes/buttonElement.ts +++ b/projects/common/classes/buttonElement.ts @@ -1,5 +1,6 @@ import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; -import { initSurfaceElement, initFontElement, UIElement } from './uIElement'; +import { UIElement } from './uIElement'; +import { initFontElement, initSurfaceElement } from '../util/unit-interface-initializer'; export class ButtonElement extends UIElement implements FontElement, SurfaceUIElement { label: string = 'Knopf'; diff --git a/projects/common/classes/checkboxElement.ts b/projects/common/classes/checkboxElement.ts index 3be20cdf3..7385d35c3 100644 --- a/projects/common/classes/checkboxElement.ts +++ b/projects/common/classes/checkboxElement.ts @@ -1,5 +1,6 @@ -import { initSurfaceElement, initFontElement, InputElement, UIElement } from './uIElement'; +import { InputElement, UIElement } from './uIElement'; import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; +import { initFontElement, initSurfaceElement } from '../util/unit-interface-initializer'; export class CheckboxElement extends InputElement implements FontElement, SurfaceUIElement { fontColor: string = 'black'; diff --git a/projects/common/classes/dropdownElement.ts b/projects/common/classes/dropdownElement.ts index 368e5cbd3..9373cba59 100644 --- a/projects/common/classes/dropdownElement.ts +++ b/projects/common/classes/dropdownElement.ts @@ -1,5 +1,6 @@ -import { initSurfaceElement, initFontElement, InputElement, UIElement } from './uIElement'; +import { InputElement, UIElement } from './uIElement'; import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; +import { initFontElement, initSurfaceElement } from '../util/unit-interface-initializer'; export class DropdownElement extends InputElement implements FontElement, SurfaceUIElement { options: string[] = []; diff --git a/projects/common/classes/radioButtonGroupElement.ts b/projects/common/classes/radioButtonGroupElement.ts index 8fa4ae4ce..e66b31a04 100644 --- a/projects/common/classes/radioButtonGroupElement.ts +++ b/projects/common/classes/radioButtonGroupElement.ts @@ -1,5 +1,6 @@ -import { initSurfaceElement, initFontElement, InputElement, UIElement } from './uIElement'; +import { InputElement, UIElement } from './uIElement'; import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; +import { initFontElement, initSurfaceElement } from '../util/unit-interface-initializer'; export class RadioButtonGroupElement extends InputElement implements FontElement, SurfaceUIElement { options: string[] = []; diff --git a/projects/common/classes/textAreaElement.ts b/projects/common/classes/textAreaElement.ts index a3694c7f7..b063d384f 100644 --- a/projects/common/classes/textAreaElement.ts +++ b/projects/common/classes/textAreaElement.ts @@ -1,5 +1,6 @@ import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; -import { initSurfaceElement, initFontElement, InputElement, UIElement } from './uIElement'; +import { InputElement, UIElement } from './uIElement'; +import { initFontElement, initSurfaceElement } from '../util/unit-interface-initializer'; export class TextAreaElement extends InputElement implements FontElement, SurfaceUIElement { appearance: 'standard' | 'legacy' | 'fill' | 'outline' = 'outline'; diff --git a/projects/common/classes/textElement.ts b/projects/common/classes/textElement.ts index 2e2f789b8..8ccab10c7 100644 --- a/projects/common/classes/textElement.ts +++ b/projects/common/classes/textElement.ts @@ -1,5 +1,6 @@ -import { initSurfaceElement, UIElement } from './uIElement'; +import { UIElement } from './uIElement'; import { SurfaceUIElement } from '../interfaces/UIElementInterfaces'; +import { initSurfaceElement } from '../util/unit-interface-initializer'; export class TextElement extends UIElement implements SurfaceUIElement { text: string = '<p>Lorem ipsum dolor sit amet</p>'; diff --git a/projects/common/classes/textFieldElement.ts b/projects/common/classes/textFieldElement.ts index 8ae22001e..23ea3548d 100644 --- a/projects/common/classes/textFieldElement.ts +++ b/projects/common/classes/textFieldElement.ts @@ -1,5 +1,6 @@ -import { initSurfaceElement, initFontElement, InputElement, UIElement } from './uIElement'; +import { InputElement, UIElement } from './uIElement'; import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; +import { initFontElement, initSurfaceElement } from '../util/unit-interface-initializer'; export class TextFieldElement extends InputElement implements FontElement, SurfaceUIElement { appearance: 'standard' | 'legacy' | 'fill' | 'outline' = 'outline'; diff --git a/projects/common/classes/uIElement.ts b/projects/common/classes/uIElement.ts index dd74dba43..0ca1101e2 100644 --- a/projects/common/classes/uIElement.ts +++ b/projects/common/classes/uIElement.ts @@ -1,5 +1,4 @@ // eslint-disable-next-line max-classes-per-file -import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; import { IdService } from '../id.service'; export abstract class UIElement { @@ -54,20 +53,3 @@ export abstract class InputElement extends UIElement { this.requiredWarnMessage = serializedElement.requiredWarnMessage as string || 'Eingabe erforderlich'; } } - -// ================================================ - -export function initFontElement(): FontElement { - return { - fontColor: 'black', - font: 'Roboto', - fontSize: 18, - bold: false, - italic: false, - underline: false - }; -} - -export function initSurfaceElement(): SurfaceUIElement { - return { backgroundColor: 'lightgrey' }; -} diff --git a/projects/common/util/unit-interface-initializer.ts b/projects/common/util/unit-interface-initializer.ts new file mode 100644 index 000000000..24e3f4241 --- /dev/null +++ b/projects/common/util/unit-interface-initializer.ts @@ -0,0 +1,16 @@ +import { FontElement, SurfaceUIElement } from '../interfaces/UIElementInterfaces'; + +export function initFontElement(): FontElement { + return { + fontColor: 'black', + font: 'Roboto', + fontSize: 18, + bold: false, + italic: false, + underline: false + }; +} + +export function initSurfaceElement(): SurfaceUIElement { + return { backgroundColor: 'lightgrey' }; +} -- GitLab