Skip to content

Commit

Permalink
fix: timepicker
Browse files Browse the repository at this point in the history
  • Loading branch information
lskramarov committed Jul 18, 2024
1 parent 782ab2c commit eb5dc96
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions packages/components/timepicker/timepicker.directive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,7 @@ export class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAcc
private control: AbstractControl;

private defaultPlaceholder = true;
private separator = ':';

private onChange: (value: any) => void;
private onTouched: () => void;
Expand Down Expand Up @@ -628,14 +629,31 @@ export class KbqTimepicker<D> implements KbqFormFieldControl<D>, ControlValueAcc
this.stateChanges.next();
}

private fixEmptyDigit() {
console.log('fixEmptyDigit: ');
const hasEmptyDigit = this.viewValue
.split(this.separator)
.map((part) => part.length)
.some((item) => !item);

if (hasEmptyDigit && this.value) {
this.value = this.dateAdapter.clone(this.value);
}
}


private horizontalArrowKeyHandler(keyCode: number): void {
if (!this.value) { return; }

let cursorPos = this.selectionStart as number;

if (keyCode === LEFT_ARROW) {
this.fixEmptyDigit();

cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;
} else if (keyCode === RIGHT_ARROW) {
this.fixEmptyDigit();

const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);

cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;
Expand Down

0 comments on commit eb5dc96

Please sign in to comment.