Commit fcda03f9 by GD-A-150752

Bug-Fix

S52756984 #Time Field Error Resolved
parent f8241828
......@@ -9,7 +9,7 @@ import { DndModule } from 'ngx-drag-drop';
import {
ConfirmationService,
DragDropModule, FileUploadModule,
InputMaskModule,
InputMaskModule, KeyFilterModule,
MultiSelectModule,
OrderListModule
} from 'primeng/primeng';
......@@ -47,7 +47,8 @@ import { OneITModule } from './oneit/oneit.module';
OrderListModule,
MultiSelectModule,
DndModule,
FileUploadModule
FileUploadModule,
KeyFilterModule
],
declarations: [
AppComponent,
......
......@@ -383,16 +383,14 @@
</div>
<div class="col-md-{{stage.StageType.IsPreStage ? '1' : '2'}}">
<label for="Variance{{message.ObjectID}}Id">+/- m</label>
<p-inputMask (change)="generateVarianceString(message)"
(onBlur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(onFocus)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
[(ngModel)]="message.Variance"
[disabled]="showLoader"
id="Variance{{message.ObjectID}}Id"
class="form-control"
mask="9?9:99:99" name="Variance{{message.ObjectID}}">
</p-inputMask>
<input [(ngModel)]="message.Variance"
[disabled]="showLoader" pKeyFilter="pint"
(change)="generateVarianceString(message)"
(blur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(focusin)="toggleInput($event, 'Variance'+message.ObjectID, true)"
class="form-control" id="Variance{{message.ObjectID}}Id"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
name="Variance{{message.ObjectID}}" type="text">
<div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
......@@ -476,16 +474,14 @@
</div>
<div class="col-md-2">
<label for="Variance{{message.ObjectID}}Id">+/- m</label>
<p-inputMask (change)="generateVarianceString(message)"
(onBlur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(onFocus)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
[(ngModel)]="message.Variance"
[disabled]="showLoader"
id="Variance{{message.ObjectID}}Id"
class="form-control"
mask="9?9:99:99" name="Variance{{message.ObjectID}}">
</p-inputMask>
<input [(ngModel)]="message.Variance"
[disabled]="showLoader" pKeyFilter="pint"
(change)="generateVarianceString(message)"
(blur)="toggleInput($event, 'Variance'+message.ObjectID, false)"
(focusin)="toggleInput($event, 'Variance'+message.ObjectID, true)"
class="form-control" id="Variance{{message.ObjectID}}Id"
*ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
name="Variance{{message.ObjectID}}" type="text">
<div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
......
......@@ -289,54 +289,14 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
}
/**
* Whenever Variance value is provided in message schedule section, it changes it into a variance string consisting of
* number of days, hours and minutes.
* If minutes exceed 60, hours are calculated.
* If hours exceed 24, days are calculated.
* Input mask gets values in the form of __:__:__
* Parsing of this value takes place in this function, moreover it sorts the messages as well
* @WorkflowMessageModel message
*/
generateVarianceString(message: WorkflowMessageModel): void {
if (!message.Variance) {
return;
}
const delay = message.Variance.replace(/_/g, '')
.split(':');
delay[0] = delay[0] || '';
delay[0] = delay[0] !== '00' ? delay[0] : '';
delay[1] = delay[1] || '';
delay[1] = delay[1] !== '00' ? delay[1] : '';
delay[2] = delay[2] || '';
delay[2] = delay[2] !== '00' ? delay[2] : '';
if (delay[1] === '' && delay[2] === '') {
message.VarianceString = `${delay[0]}m`;
message.Variance = `00:00:${delay[0]}`;
} else if (delay[2] === '') {
const minutes = Math.floor(Number(delay[1]) % 60);
let hours = Math.floor(Number(delay[1]) / 60);
hours += Number(delay[0]);
let days = 0;
if (Math.floor(hours / 24) > 0) {
hours = Math.floor(hours / 24);
days = Math.floor(hours % 24);
}
message.VarianceString = `${this.maskValue(days)}d:${this.maskValue(hours)}h:${this.maskValue(minutes)}m`;
message.Variance = `${this.maskValue(days)}:${this.maskValue(hours)}:${this.maskValue(minutes)}`;
} else {
const minutes = Math.floor(Number(delay[2]) % 60);
let hours = Math.floor(Number(delay[2]) / 60);
hours += Number(delay[1]);
let days = Math.floor(hours / 24);
hours = Math.floor(hours % 24);
days += Number(delay[0]);
message.VarianceString = `${this.maskValue(days)}d:${this.maskValue(hours)}h:${this.maskValue(minutes)}m`;
message.Variance = `${this.maskValue(days)}:${this.maskValue(hours)}:${this.maskValue(minutes)}`;
}
message.VarianceString = `${message.Variance}m`;
}
maskValue(val: number): string {
......@@ -371,12 +331,28 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
message.DelayMinutes = parseInt(delay[0], 10);
message.Delay = `00:00:${delay[0]}`;
} else if (delay[2] === '') {
message.DelayString = `${delay[0]}h: ${delay[1]}m`;
message.DelayMinutes = parseInt(delay[0], 10) * 60 + parseInt(delay[1], 10);
message.Delay = `00:${delay[0]}:${delay[1]}`;
const minutes = Math.floor(Number(delay[1]) % 60);
let hours = Math.floor(Number(delay[1]) / 60);
hours += Number(delay[0]);
let days = 0;
if (Math.floor(hours / 24) > 0) {
hours = Math.floor(hours / 24);
days = Math.floor(hours % 24);
}
message.DelayString = `${this.maskValue(days)}d:${this.maskValue(hours)}h:${this.maskValue(minutes)}m`;
message.Delay = `${this.maskValue(days)}:${this.maskValue(hours)}:${this.maskValue(minutes)}`;
message.DelayMinutes = (days * 24 * 60) + (hours * 60) + minutes;
} else {
message.DelayString = `${delay[0]}d: ${delay[1]}h: ${delay[2]}m`;
message.DelayMinutes = parseInt(delay[0], 10) * 24 * 60 + parseInt(delay[1], 10) * 60 + parseInt(delay[1], 10);
const minutes = Math.floor(Number(delay[2]) % 60);
let hours = Math.floor(Number(delay[2]) / 60);
hours += Number(delay[1]);
let days = Math.floor(hours / 24);
hours = Math.floor(hours % 24);
days += Number(delay[0]);
message.DelayString = `${this.maskValue(days)}d:${this.maskValue(hours)}h:${this.maskValue(minutes)}m`;
message.Delay = `${this.maskValue(days)}:${this.maskValue(hours)}:${this.maskValue(minutes)}`;
message.DelayMinutes = (days * 24 * 60) + (hours * 60) + minutes;
}
this.sortWorkFlowMessage();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment