Skip to content

Commit

Permalink
(refactor) add override keyword for target methods
Browse files Browse the repository at this point in the history
  • Loading branch information
dreyliky committed Jan 9, 2023
1 parent 63d2e89 commit 4a90b9c
Show file tree
Hide file tree
Showing 36 changed files with 61 additions and 138 deletions.
2 changes: 1 addition & 1 deletion src/app/library/core/classes/base-components/component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ export abstract class ɵOsBaseComponent
protected readonly hostRef: ElementRef<HTMLElement> = inject(ElementRef);
protected readonly changeDetector = inject(ChangeDetectorRef);

public ngAfterViewInit(): void {
public override ngAfterViewInit(): void {
super.ngAfterViewInit();
this.initTargetInternalElement();
}
Expand Down
9 changes: 1 addition & 8 deletions src/app/library/core/classes/base-components/field.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,12 @@ export abstract class ɵOsBaseFieldComponent<T = string, OutputT = string>
**/
public abstract osChange: Observable<unknown>;

public ngAfterViewInit(): void {
public override ngAfterViewInit(): void {
super.ngAfterViewInit();
this.initBlurEventObserver();
this.autoFocusFieldIfNeeded();
}

/** @internal */
public setDisabledState(isDisabled: boolean): void {
this.isDisabled = isDisabled;

this.changeDetector.markForCheck();
}

private autoFocusFieldIfNeeded(): void {
if (this.isAutofocused) {
this.targetInternalElement.focus();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,7 @@ export class CheckboxComponent<T = any>
@Input()
public name: string = '';

/** Is checkbox disabled? */
@Input()
@HostBinding(`class.${ɵCommonCssClassEnum.Disabled}`)
public isDisabled: boolean;

// FIXME: Investigate or Remove "data". "value" already exists.
/** Data of the checkbox */
@Input()
public data: T;
Expand All @@ -56,19 +52,12 @@ export class CheckboxComponent<T = any>
}

/** @internal */
public writeValue(value: boolean): void {
public override writeValue(value: boolean): void {
this.isChecked = value;

this.changeDetector.detectChanges();
}

/** @internal */
public setDisabledState(isDisabled: boolean): void {
this.isDisabled = isDisabled;

this.changeDetector.markForCheck();
}

/** @internal */
public _onCheckboxValueChange(originalEvent: Event): void {
const inputElement = originalEvent.target as HTMLInputElement;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { DragStrategyByAxisProperties } from './by-axis-properties-drag.strategy

/** @internal */
export class ɵDragStrategyByAxisPropertiesImpl extends ɵBaseDragStrategyImpl {
public readonly type = ɵDragStrategyEnum.ByAxisProperties;
public override readonly type = ɵDragStrategyEnum.ByAxisProperties;

public updateElementPosition(event: PointerEvent | TouchEvent): void {
if (this.context.config.isAllowMoveElement) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ import { DragStrategyByTranslate3d } from './by-translate3d-drag.strategy';

/** @internal */
export class ɵDragStrategyByTranslate3dImpl extends ɵBaseDragStrategyImpl {
public readonly type = ɵDragStrategyEnum.ByTranslate3d;
public override readonly type = ɵDragStrategyEnum.ByTranslate3d;

protected config: DragStrategyByTranslate3d;
protected override config: DragStrategyByTranslate3d;

private initialX: number;
private initialY: number;

public registerMouseDown(dragInfo: DragInfo): void {
public override registerMouseDown(dragInfo: DragInfo): void {
this.initInitialCoordinates();
super.registerMouseDown(dragInfo);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export class DropdownItemComponent<T = any>
this.initClickObserver();
}

public ngAfterViewInit(): void {
public override ngAfterViewInit(): void {
super.ngAfterViewInit();
this.initDefaultValueIfAbsent();
queueMicrotask(() => this.initDropdownFormControlValueObserver());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import {
Component,
ContentChild,
EventEmitter,
HostBinding,
Inject,
Input,
OnInit,
Expand All @@ -15,7 +14,6 @@ import { ControlValueAccessor } from '@angular/forms';
import { BehaviorSubject, merge, Observable } from 'rxjs';
import { filter, takeUntil } from 'rxjs/operators';
import {
ɵCommonCssClassEnum,
ɵEventOutside,
ɵGlobalEvents,
ɵIsNil,
Expand Down Expand Up @@ -95,11 +93,6 @@ import { DropdownItemComponent as ItemComponent } from '../dropdown-item';
export class DropdownComponent<T = any>
extends ɵOsBaseFormControlComponent<T>
implements OnInit, ControlValueAccessor {
/** Is dropdown disabled? */
@Input()
@HostBinding(`class.${ɵCommonCssClassEnum.Disabled}`)
public isDisabled: boolean = false;

/** Is dropdown overlay should be created inside the `body` HTML element? */
@Input()
public isAppendToBody: boolean;
Expand Down Expand Up @@ -148,8 +141,6 @@ export class DropdownComponent<T = any>
return !ɵIsNil(this.value);
}

/** Dropdown value */
public value: T;
/** Dropdown label */
public label: string;

Expand Down Expand Up @@ -193,13 +184,6 @@ export class DropdownComponent<T = any>
(this.isOverlayOpened) ? this.close() : this.open();
}

/** @internal */
public setDisabledState(isDisabled: boolean): void {
this.isDisabled = isDisabled;

this.changeDetector.markForCheck();
}

/** @internal */
public _initSelectedItem(item: ItemComponent<T>): void {
this.value = item?.data ?? null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export class EmailBoxComponent extends ɵOsBaseFieldComponent implements OnInit
return (this.isAutocompleteEnabled) ? '' : 'off';
}

protected targetInternalElementSelector = 'input';
protected override targetInternalElementSelector = 'input';

public ngOnInit(): void {
this.value = '';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ export class GridComponent extends ɵOsBaseComponent implements OnChanges, After
private _cellMinSize: number = 50;
private gridItemComponents: QueryList<GridItemComponent>;

public ngAfterViewInit(): void {
public override ngAfterViewInit(): void {
super.ngAfterViewInit();
this.initHostSizeChangeObserver();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,15 @@ export class NumberBoxComponent
return (this.isAutocompleteEnabled) ? '' : 'off';
}

protected targetInternalElementSelector = 'input';
protected override targetInternalElementSelector = 'input';

private readonly converter = new ɵNumericalValueConverter(this);

public ngOnInit(): void {
this.value = this.getDefaultValue();
}

public ngAfterViewInit(): void {
public override ngAfterViewInit(): void {
super.ngAfterViewInit();
this.initChangeEventObserver();
this.initInputEventObserver();
Expand All @@ -86,7 +86,7 @@ export class NumberBoxComponent
}

/** @internal */
public writeValue(value: string | number): void {
public override writeValue(value: string | number): void {
if (!ɵIsNil(value)) {
this.value = this.converter.toValid(value);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export class PasswordBoxComponent extends ɵOsBaseFieldComponent implements OnIn
return (this.isAutocompleteEnabled) ? '' : 'off';
}

protected targetInternalElementSelector = 'input';
protected override targetInternalElementSelector = 'input';

public ngOnInit(): void {
this.value = '';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,7 @@ export class RadioButtonComponent<T = any>
@HostBinding(`class.${ɵCommonCssClassEnum.Checked}`)
public isChecked: boolean;

/** Is radio-button disabled? */
@Input()
@HostBinding(`class.${ɵCommonCssClassEnum.Disabled}`)
public isDisabled: boolean;

// FIXME: Investigate or Remove "data". "value" already exists.
/** Data of the radio-button */
@Input()
public data: T;
Expand All @@ -60,20 +56,14 @@ export class RadioButtonComponent<T = any>
this.initClickObserver();
}

// FIXME: Investigate: Maybe should be called super.writeValue();
/** @internal */
public writeValue(value: T): void {
public override writeValue(value: T): void {
this.isChecked = (this.data === value);

this.changeDetector.detectChanges();
}

/** @internal */
public setDisabledState(isDisabled: boolean): void {
this.isDisabled = isDisabled;

this.changeDetector.markForCheck();
}

/** @internal */
public _onRadioButtonChange(originalEvent: Event): void {
const inputElement = originalEvent.target as HTMLInputElement;
Expand Down
3 changes: 0 additions & 3 deletions src/app/library/modules/resizer/classes/base-resizer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,10 @@ import { DOCUMENT } from '@angular/common';
import { Injector } from '@angular/core';
import { ɵParseInt, ɵPointerHelper } from '../../../core';
import { ResizableDirective } from '../directives';
import { ResizerEnum } from '../enums';
import { ɵResizerConfigModel } from './resizer-config';

/** @internal */
export abstract class ɵBaseResizer {
public static id: ResizerEnum = null;

protected readonly documentElement: HTMLElement;
protected minWidth: number;
protected maxWidth: number;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵBottomLeftResizer extends ɵBaseResizer {
public static id = ResizerEnum.BottomLeft;

public resizeElement(event: PointerEvent): void {
this.processAxisX(event);
this.processAxisY(event);
Expand Down
3 changes: 0 additions & 3 deletions src/app/library/modules/resizer/classes/bottom-resizer.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵBottomResizer extends ɵBaseResizer {
public static id = ResizerEnum.Bottom;

public resizeElement(event: PointerEvent | TouchEvent): void {
const pageY = ɵPointerHelper.getPageY(event);
const height = this.originalHeight + (pageY - this.originalMouseY);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵBottomRightResizer extends ɵBaseResizer {
public static id = ResizerEnum.BottomRight;

public resizeElement(event: PointerEvent): void {
this.processAxisX(event);
this.processAxisY(event);
Expand Down
3 changes: 0 additions & 3 deletions src/app/library/modules/resizer/classes/left-resizer.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵLeftResizer extends ɵBaseResizer {
public static id = ResizerEnum.Left;

public resizeElement(event: PointerEvent | TouchEvent): void {
const pageX = ɵPointerHelper.getPageX(event);
const width = this.originalWidth - (pageX - this.originalMouseX);
Expand Down
37 changes: 24 additions & 13 deletions src/app/library/modules/resizer/classes/resizer.factory.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,36 @@ import { ɵTopRightResizer } from './top-right-resizer';
/** @internal */
@Injectable()
export class ɵResizerFactory {
private readonly resizers = [
ɵTopLeftResizer,
ɵTopResizer,
ɵTopRightResizer,
ɵLeftResizer,
ɵRightResizer,
ɵBottomLeftResizer,
ɵBottomResizer,
ɵBottomRightResizer
];

constructor(
private readonly injector: Injector
) {}

public create(id: ResizerEnum, context: ResizableDirective): ɵBaseResizer {
const ResizerType = this.resizers
.find((resizer) => resizer.id === id);
const ResizerType = this.getResizerClassById(id);

return new ResizerType(context, this.injector);
}

private getResizerClassById(id: ResizerEnum): typeof ɵTopResizer {
switch (id) {
case ResizerEnum.TopLeft:
return ɵTopLeftResizer;
case ResizerEnum.Top:
return ɵTopResizer;
case ResizerEnum.TopRight:
return ɵTopRightResizer;
case ResizerEnum.Left:
return ɵLeftResizer;
case ResizerEnum.Right:
return ɵRightResizer;
case ResizerEnum.BottomLeft:
return ɵBottomLeftResizer;
case ResizerEnum.Bottom:
return ɵBottomResizer;
case ResizerEnum.BottomRight:
return ɵBottomRightResizer;
default:
throw new Error(`Can't find resizer by id: ${id}`);
}
}
}
3 changes: 0 additions & 3 deletions src/app/library/modules/resizer/classes/right-resizer.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵRightResizer extends ɵBaseResizer {
public static id = ResizerEnum.Right;

public resizeElement(event: PointerEvent | TouchEvent): void {
const pageX = ɵPointerHelper.getPageX(event);
const width = this.originalWidth + (pageX - this.originalMouseX);
Expand Down
3 changes: 0 additions & 3 deletions src/app/library/modules/resizer/classes/top-left-resizer.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵTopLeftResizer extends ɵBaseResizer {
public static id = ResizerEnum.TopLeft;

public resizeElement(event: PointerEvent | TouchEvent): void {
this.processAxisX(event);
this.processAxisY(event);
Expand Down
3 changes: 0 additions & 3 deletions src/app/library/modules/resizer/classes/top-resizer.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { ɵPointerHelper } from '../../../core';
import { ResizerEnum } from '../enums';
import { ɵBaseResizer } from './base-resizer';

/** @internal */
export class ɵTopResizer extends ɵBaseResizer {
public static id = ResizerEnum.Top;

public resizeElement(event: PointerEvent | TouchEvent): void {
const pageY = ɵPointerHelper.getPageY(event);
const height = this.originalHeight - (pageY - this.originalMouseY);
Expand Down
Loading

0 comments on commit 4a90b9c

Please sign in to comment.