From aa6c78967fa5d2857dede568071eaad55428d540 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 23 Aug 2021 18:12:48 +0300 Subject: [PATCH] move help mode and buttons to separate modules --- src/index.ts | 10 ++-------- src/lib/buttons/buttons.module.ts | 17 ++++++++++++++++ .../circle-button/circle-button.component.ts | 2 +- .../icon-button/icon-button.component.ts | 2 +- src/lib/buttons/index.ts | 5 +++++ .../circle-button.type.ts | 0 .../icon-button.type.ts | 0 src/lib/common-ui.module.ts | 18 ++++------------- src/lib/help-mode/help-mode.module.ts | 20 +++++++++++++++++++ src/lib/help-mode/help-mode.service.ts | 4 +--- src/lib/help-mode/index.ts | 5 +++++ .../editable-input.component.ts | 2 +- 12 files changed, 57 insertions(+), 28 deletions(-) create mode 100644 src/lib/buttons/buttons.module.ts create mode 100644 src/lib/buttons/index.ts rename src/lib/buttons/{circle-button => types}/circle-button.type.ts (100%) rename src/lib/buttons/{icon-button => types}/icon-button.type.ts (100%) create mode 100644 src/lib/help-mode/help-mode.module.ts create mode 100644 src/lib/help-mode/index.ts diff --git a/src/index.ts b/src/index.ts index 02f1a25..c1f780c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,4 @@ export * from './lib/common-ui.module'; -export * from './lib/buttons/icon-button/icon-button.type'; -export * from './lib/buttons/icon-button/icon-button.component'; export * from './lib/utils/injection-tokens'; export * from './lib/utils/functions'; export * from './lib/utils/operators'; @@ -12,8 +10,6 @@ export * from './lib/utils/types/tooltip-positions.type'; export * from './lib/utils/decorators/bind.decorator'; export * from './lib/utils/decorators/required.decorator'; export * from './lib/utils/decorators/debounce.decorator'; -export * from './lib/buttons/circle-button/circle-button.type'; -export * from './lib/buttons/circle-button/circle-button.component'; export * from './lib/filtering/filter-utils'; export * from './lib/filtering/filter.service'; export * from './lib/filtering/models/filter.model'; @@ -38,7 +34,5 @@ export * from './lib/misc/status-bar/status-bar-config.model'; export * from './lib/inputs/round-checkbox/round-checkbox.component'; export * from './lib/inputs/editable-input/editable-input.component'; export * from './lib/inputs/input-with-action/input-with-action.component'; -export * from './lib/help-mode/help-mode.service'; -export * from './lib/help-mode/help-mode.directive'; -export * from './lib/help-mode/help-mode/help-mode.component'; -export * from './lib/help-mode/help-mode-dialog/help-mode-dialog.component'; +export * from './lib/buttons'; +export * from './lib/help-mode'; diff --git a/src/lib/buttons/buttons.module.ts b/src/lib/buttons/buttons.module.ts new file mode 100644 index 0000000..f8acc95 --- /dev/null +++ b/src/lib/buttons/buttons.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MatIconModule } from '@angular/material/icon'; +import { MatButtonModule } from '@angular/material/button'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { ChevronButtonComponent } from './chevron-button/chevron-button.component'; +import { CircleButtonComponent } from './circle-button/circle-button.component'; +import { IconButtonComponent } from './icon-button/icon-button.component'; + +const components = [ChevronButtonComponent, CircleButtonComponent, IconButtonComponent]; + +@NgModule({ + declarations: [...components], + imports: [CommonModule, MatIconModule, MatButtonModule, MatTooltipModule], + exports: [...components] +}) +export class IqserButtonsModule {} diff --git a/src/lib/buttons/circle-button/circle-button.component.ts b/src/lib/buttons/circle-button/circle-button.component.ts index 0976335..fa26439 100644 --- a/src/lib/buttons/circle-button/circle-button.component.ts +++ b/src/lib/buttons/circle-button/circle-button.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; import { MatTooltip } from '@angular/material/tooltip'; -import { CircleButtonType, CircleButtonTypes } from './circle-button.type'; +import { CircleButtonType, CircleButtonTypes } from '../types/circle-button.type'; import { Required } from '../../utils/decorators/required.decorator'; import { IqserTooltipPosition, IqserTooltipPositions } from '../../utils/types/tooltip-positions.type'; diff --git a/src/lib/buttons/icon-button/icon-button.component.ts b/src/lib/buttons/icon-button/icon-button.component.ts index 2d1f24c..26c602e 100644 --- a/src/lib/buttons/icon-button/icon-button.component.ts +++ b/src/lib/buttons/icon-button/icon-button.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; -import { IconButtonType, IconButtonTypes } from './icon-button.type'; +import { IconButtonType, IconButtonTypes } from '../types/icon-button.type'; import { Required } from '../../utils/decorators/required.decorator'; @Component({ diff --git a/src/lib/buttons/index.ts b/src/lib/buttons/index.ts new file mode 100644 index 0000000..481dd0f --- /dev/null +++ b/src/lib/buttons/index.ts @@ -0,0 +1,5 @@ +export * from './buttons.module'; +export * from './types/icon-button.type'; +export * from './icon-button/icon-button.component'; +export * from './types/circle-button.type'; +export * from './circle-button/circle-button.component'; diff --git a/src/lib/buttons/circle-button/circle-button.type.ts b/src/lib/buttons/types/circle-button.type.ts similarity index 100% rename from src/lib/buttons/circle-button/circle-button.type.ts rename to src/lib/buttons/types/circle-button.type.ts diff --git a/src/lib/buttons/icon-button/icon-button.type.ts b/src/lib/buttons/types/icon-button.type.ts similarity index 100% rename from src/lib/buttons/icon-button/icon-button.type.ts rename to src/lib/buttons/types/icon-button.type.ts diff --git a/src/lib/common-ui.module.ts b/src/lib/common-ui.module.ts index 1b53185..d56cb8d 100644 --- a/src/lib/common-ui.module.ts +++ b/src/lib/common-ui.module.ts @@ -9,9 +9,6 @@ import { FormsModule } from '@angular/forms'; import { MatMenuModule } from '@angular/material/menu'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatDialogModule } from '@angular/material/dialog'; -import { IconButtonComponent } from './buttons/icon-button/icon-button.component'; -import { ChevronButtonComponent } from './buttons/chevron-button/chevron-button.component'; -import { CircleButtonComponent } from './buttons/circle-button/circle-button.component'; import { RoundCheckboxComponent } from './inputs/round-checkbox/round-checkbox.component'; import { SortByPipe } from './sorting/sort-by.pipe'; import { HumanizePipe } from './utils/pipes/humanize.pipe'; @@ -23,31 +20,24 @@ import { StatusBarComponent } from './misc/status-bar/status-bar.component'; import { EditableInputComponent } from './inputs/editable-input/editable-input.component'; import { PopupFilterComponent } from './filtering/popup-filter/popup-filter.component'; import { InputWithActionComponent } from './inputs/input-with-action/input-with-action.component'; -import { HelpModeDirective } from './help-mode/help-mode.directive'; -import { HelpModeComponent } from './help-mode/help-mode/help-mode.component'; -import { HelpModeDialogComponent } from './help-mode/help-mode-dialog/help-mode-dialog.component'; - -const buttons = [IconButtonComponent, ChevronButtonComponent, CircleButtonComponent]; +import { IqserButtonsModule } from './buttons'; const inputs = [RoundCheckboxComponent, EditableInputComponent, InputWithActionComponent]; const matModules = [MatIconModule, MatButtonModule, MatTooltipModule, MatMenuModule, MatCheckboxModule, MatDialogModule]; -const modules = [...matModules, FormsModule, TranslateModule]; +const modules = [...matModules, FormsModule, TranslateModule, IqserButtonsModule]; const components = [ - ...buttons, ...inputs, TableColumnNameComponent, QuickFiltersComponent, PopupFilterComponent, TableHeaderComponent, - StatusBarComponent, - HelpModeComponent, - HelpModeDialogComponent + StatusBarComponent ]; -const utils = [SortByPipe, HumanizePipe, SyncWidthDirective, HelpModeDirective]; +const utils = [SortByPipe, HumanizePipe, SyncWidthDirective]; @NgModule({ declarations: [...components, ...utils], diff --git a/src/lib/help-mode/help-mode.module.ts b/src/lib/help-mode/help-mode.module.ts new file mode 100644 index 0000000..2d17ac7 --- /dev/null +++ b/src/lib/help-mode/help-mode.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MatIconModule } from '@angular/material/icon'; +import { TranslateModule } from '@ngx-translate/core'; +import { MatDialogModule } from '@angular/material/dialog'; +import { HelpModeDialogComponent } from './help-mode-dialog/help-mode-dialog.component'; +import { HelpModeComponent } from './help-mode/help-mode.component'; +import { HelpModeDirective } from './help-mode.directive'; +import { IqserButtonsModule } from '../buttons'; +import { HelpModeService } from './help-mode.service'; + +const components = [HelpModeComponent, HelpModeDialogComponent, HelpModeDirective]; + +@NgModule({ + declarations: [...components], + imports: [CommonModule, MatIconModule, MatDialogModule, TranslateModule, IqserButtonsModule], + exports: [...components], + providers: [HelpModeService] +}) +export class IqserHelpModeModule {} diff --git a/src/lib/help-mode/help-mode.service.ts b/src/lib/help-mode/help-mode.service.ts index 220d04b..0ddbebd 100644 --- a/src/lib/help-mode/help-mode.service.ts +++ b/src/lib/help-mode/help-mode.service.ts @@ -10,9 +10,7 @@ interface Helper { readonly helperElement: HTMLElement; } -@Injectable({ - providedIn: 'root' -}) +@Injectable() export class HelpModeService { private readonly _isHelpModeActive$ = new BehaviorSubject(false); readonly isHelpModeActive$ = this._isHelpModeActive$.asObservable(); diff --git a/src/lib/help-mode/index.ts b/src/lib/help-mode/index.ts new file mode 100644 index 0000000..4188d4b --- /dev/null +++ b/src/lib/help-mode/index.ts @@ -0,0 +1,5 @@ +export * from './help-mode.module'; +export * from './help-mode.service'; +export * from './help-mode.directive'; +export * from './help-mode/help-mode.component'; +export * from './help-mode-dialog/help-mode-dialog.component'; diff --git a/src/lib/inputs/editable-input/editable-input.component.ts b/src/lib/inputs/editable-input/editable-input.component.ts index c8391bc..ece127b 100644 --- a/src/lib/inputs/editable-input/editable-input.component.ts +++ b/src/lib/inputs/editable-input/editable-input.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core'; import { Required } from '../../utils/decorators/required.decorator'; -import { CircleButtonType } from '../../buttons/circle-button/circle-button.type'; +import { CircleButtonType } from '../../buttons/types/circle-button.type'; @Component({ selector: 'iqser-editable-input',