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'; ...@@ -9,7 +9,7 @@ import { DndModule } from 'ngx-drag-drop';
import { import {
ConfirmationService, ConfirmationService,
DragDropModule, FileUploadModule, DragDropModule, FileUploadModule,
InputMaskModule, InputMaskModule, KeyFilterModule,
MultiSelectModule, MultiSelectModule,
OrderListModule OrderListModule
} from 'primeng/primeng'; } from 'primeng/primeng';
...@@ -47,7 +47,8 @@ import { OneITModule } from './oneit/oneit.module'; ...@@ -47,7 +47,8 @@ import { OneITModule } from './oneit/oneit.module';
OrderListModule, OrderListModule,
MultiSelectModule, MultiSelectModule,
DndModule, DndModule,
FileUploadModule FileUploadModule,
KeyFilterModule
], ],
declarations: [ declarations: [
AppComponent, AppComponent,
......
...@@ -383,16 +383,14 @@ ...@@ -383,16 +383,14 @@
</div> </div>
<div class="col-md-{{stage.StageType.IsPreStage ? '1' : '2'}}"> <div class="col-md-{{stage.StageType.IsPreStage ? '1' : '2'}}">
<label for="Variance{{message.ObjectID}}Id">+/- m</label> <label for="Variance{{message.ObjectID}}Id">+/- m</label>
<p-inputMask (change)="generateVarianceString(message)" <input [(ngModel)]="message.Variance"
(onBlur)="toggleInput($event, 'Variance'+message.ObjectID, false)" [disabled]="showLoader" pKeyFilter="pint"
(onFocus)="toggleInput($event, 'Variance'+message.ObjectID, true)" (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" *ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
[(ngModel)]="message.Variance" name="Variance{{message.ObjectID}}" type="text">
[disabled]="showLoader"
id="Variance{{message.ObjectID}}Id"
class="form-control"
mask="9?9:99:99" name="Variance{{message.ObjectID}}">
</p-inputMask>
<div <div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)" (click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance"> *ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
...@@ -476,16 +474,14 @@ ...@@ -476,16 +474,14 @@
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
<label for="Variance{{message.ObjectID}}Id">+/- m</label> <label for="Variance{{message.ObjectID}}Id">+/- m</label>
<p-inputMask (change)="generateVarianceString(message)" <input [(ngModel)]="message.Variance"
(onBlur)="toggleInput($event, 'Variance'+message.ObjectID, false)" [disabled]="showLoader" pKeyFilter="pint"
(onFocus)="toggleInput($event, 'Variance'+message.ObjectID, true)" (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" *ngIf="!showLabel('Variance'+message.ObjectID) || !message.Variance"
[(ngModel)]="message.Variance" name="Variance{{message.ObjectID}}" type="text">
[disabled]="showLoader"
id="Variance{{message.ObjectID}}Id"
class="form-control"
mask="9?9:99:99" name="Variance{{message.ObjectID}}">
</p-inputMask>
<div <div
(click)="toggleInput($event, 'Variance'+message.ObjectID, true)" (click)="toggleInput($event, 'Variance'+message.ObjectID, true)"
*ngIf="showLabel('Variance'+message.ObjectID) && message.Variance"> *ngIf="showLabel('Variance'+message.ObjectID) && message.Variance">
......
...@@ -289,54 +289,14 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -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 * @WorkflowMessageModel message
*/ */
generateVarianceString(message: WorkflowMessageModel): void { generateVarianceString(message: WorkflowMessageModel): void {
if (!message.Variance) { if (!message.Variance) {
return; return;
} }
const delay = message.Variance.replace(/_/g, '') message.VarianceString = `${message.Variance}m`;
.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)}`;
}
} }
maskValue(val: number): string { maskValue(val: number): string {
...@@ -371,12 +331,28 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn ...@@ -371,12 +331,28 @@ export class EditWorkflowTemplateComponent extends BaseComponent implements OnIn
message.DelayMinutes = parseInt(delay[0], 10); message.DelayMinutes = parseInt(delay[0], 10);
message.Delay = `00:00:${delay[0]}`; message.Delay = `00:00:${delay[0]}`;
} else if (delay[2] === '') { } else if (delay[2] === '') {
message.DelayString = `${delay[0]}h: ${delay[1]}m`; const minutes = Math.floor(Number(delay[1]) % 60);
message.DelayMinutes = parseInt(delay[0], 10) * 60 + parseInt(delay[1], 10); let hours = Math.floor(Number(delay[1]) / 60);
message.Delay = `00:${delay[0]}:${delay[1]}`; 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 { } else {
message.DelayString = `${delay[0]}d: ${delay[1]}h: ${delay[2]}m`; const minutes = Math.floor(Number(delay[2]) % 60);
message.DelayMinutes = parseInt(delay[0], 10) * 24 * 60 + parseInt(delay[1], 10) * 60 + parseInt(delay[1], 10); 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(); 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