fix : added enable and disable for shash enter (labels)

This commit is contained in:
karthik 2025-07-26 15:28:35 +05:30
parent 6d9be9c8e4
commit 244604702a
2 changed files with 50 additions and 37 deletions

View File

@ -17,11 +17,12 @@
<!-- Right Group: ENTER, COPY, CLEAR, PR -->
<div class="d-flex flex-wrap justify-content-center gap-2 second">
<button
*ngIf="showShashEnter"
class="btn btn-dark"
[disabled]="selectedLabel === 'QUI' && isQUIFirstGroupComplete"
(click)="padEnter()"
>
Enter
shash ENTER
</button>
<button class="btn btn-dark">COPY</button>
<button class="btn btn-dark">CLEAR</button>

View File

@ -66,6 +66,11 @@ export class TouchPadMenuComponent implements OnInit {
return this.selectedLabel !== null && this.selectedNumbers.length > 0;
}
get showShashEnter(): boolean {
const enabledLabels = ['FOR', 'QUI', 'TAN', 'EXA', 'WSP', 'TRE', 'MJP', 'JKP', 'SJP', '.'];
return enabledLabels.includes(this.selectedLabel || '');
}
private chunk<T>(array: T[], size: number): T[][] {
return Array.from({ length: Math.ceil(array.length / size) }, (_, i) =>
array.slice(i * size, i * size + size)
@ -95,16 +100,16 @@ export class TouchPadMenuComponent implements OnInit {
if (this.isQUIFirstGroupComplete) {
if (!this.QUIGroup2.includes(number)) {
this.QUIGroup2.push(number);
this.selectedNumbers = [...this.QUIGroup1, ...this.QUIGroup2];
this.selectionService.updatePartial({ numbers: this.selectedNumbers });
this.selectedNumbers = [...this.QUIGroup1, '-', ...this.QUIGroup2];
}
} else {
if (!this.QUIGroup1.includes(number)) {
this.QUIGroup1.push(number);
this.selectedNumbers = [...this.QUIGroup1];
}
}
this.selectionService.updatePartial({ numbers: this.selectedNumbers });
}
}
} else {
if (!this.selectedNumbers.includes(number)) {
this.selectedNumbers.push(number);
@ -116,9 +121,9 @@ export class TouchPadMenuComponent implements OnInit {
this.canPrint = false;
}
isNumberDisabled(number: number) {
isNumberDisabled(number: number): boolean {
if (this.selectedLabel === 'QUI') {
return this.QUIGroup1.includes(number) || this.QUIGroup2.includes(number);
return false; // ✅ Allow reuse in second group
}
return this.selectedNumbers.includes(number);
}
@ -152,6 +157,14 @@ export class TouchPadMenuComponent implements OnInit {
if (this.selectedLabel === 'QUI') {
if (!this.isQUIFirstGroupComplete && this.QUIGroup1.length > 0) {
this.isQUIFirstGroupComplete = true;
// ✅ Add dash to represent separator
this.selectedNumbers = [...this.QUIGroup1, '-'];
this.QUIGroup2 = [];
// Update to prepare for second group
this.selectionService.updatePartial({ numbers: [...this.selectedNumbers] });
return;
}
} else if (this.canPrint) {
this.print();
@ -240,7 +253,6 @@ export class TouchPadMenuComponent implements OnInit {
);
}
openFieldModal() {
this.fieldModalOpen = true;
this.fieldInput = '';