Skip to content
Snippets Groups Projects
Commit 3c3e64a0 authored by Ramesh Kumar's avatar Ramesh Kumar
Browse files

TMSS-494: Anlge fields updated with Cleave.js component.

parent b3bdb8df
No related branches found
No related tags found
1 merge request!374Resolve TMSS-494
import React, { Component } from 'react'; import React, { Component } from 'react';
import { InputMask } from 'primereact/inputmask'; import { InputMask } from 'primereact/inputmask';
import Validator from '../../utils/validator'; import Validator from '../../utils/validator';
import Cleave from 'cleave.js/react';
const BG_COLOR= '#f878788f'; const BG_COLOR= '#f878788f';
...@@ -16,29 +17,31 @@ export default class DegreeInputMask extends Component { ...@@ -16,29 +17,31 @@ export default class DegreeInputMask extends Component {
*/ */
callbackUpdateAngle(e) { callbackUpdateAngle(e) {
let isValid = false; let isValid = false;
if(Validator.validateAngle(e.value)){ if (Validator.validateAngle(e.target.value)) {
e.originalEvent.target.style.backgroundColor = ''; e.target.style.backgroundColor = '';
isValid = true; isValid = true;
}else{ } else {
e.originalEvent.target.style.backgroundColor = BG_COLOR; e.target.style.backgroundColor = BG_COLOR;
} }
this.props.context.componentParent.updateAngle( this.props.context.componentParent.updateAngle(
this.props.node.rowIndex,this.props.colDef.field,e.value,false,isValid this.props.node.rowIndex,this.props.colDef.field,e.target.value,false,isValid
); );
} }
afterGuiAttached(){ afterGuiAttached() {
this.input.input.focus(); this.input.focus();
this.input.select();
} }
render() { render() {
return ( return (
<InputMask mask="99:99:99.9999" value={this.props.value} <Cleave placeholder="DD:mm:ss.ssss" value={this.props.value}
placeholder="DD:mm:ss.ssss" options={{numericOnly: true, blocks: [2, 2, 2, 4],
className="inputmask" delimiters: [':', ':', '.'],
onChange={this.callbackUpdateAngle} delimiterLazyShow: false}}
autoFocus className="inputmask"
ref={input =>{this.input = input}} /> htmlRef={(ref) => this.input = ref }
onChange={this.callbackUpdateAngle} />
); );
} }
} }
\ No newline at end of file
import React, { Component } from 'react'; import React, { Component } from 'react';
import { InputMask } from 'primereact/inputmask'; import { InputMask } from 'primereact/inputmask';
import Validator from '../../utils/validator'; import Validator from '../../utils/validator';
import Cleave from 'cleave.js/react';
const BG_COLOR= '#f878788f'; const BG_COLOR= '#f878788f';
...@@ -12,33 +13,33 @@ export default class TimeInputMask extends Component { ...@@ -12,33 +13,33 @@ export default class TimeInputMask extends Component {
callbackUpdateAngle(e) { callbackUpdateAngle(e) {
let isValid = false; let isValid = false;
if(Validator.validateTime(e.value)){ if (Validator.validateTime(e.target.value)) {
e.originalEvent.target.style.backgroundColor = ''; e.target.style.backgroundColor = '';
isValid = true; isValid = true;
}else{ } else {
e.originalEvent.target.style.backgroundColor = BG_COLOR; e.target.style.backgroundColor = BG_COLOR;
} }
e.target.style.border = "none";
this.props.context.componentParent.updateAngle( this.props.context.componentParent.updateAngle(
this.props.node.rowIndex,this.props.colDef.field,e.value,false,isValid this.props.node.rowIndex,this.props.colDef.field,e.target.value,false,isValid
); );
} }
afterGuiAttached(){ afterGuiAttached(){
this.input.input.focus(); this.input.focus();
this.input.select();
} }
render() { render() {
return ( return (
<InputMask <Cleave placeholder="HH:mm:ss.ssss" value={this.props.value}
value={this.props.value} options={{numericOnly: true, blocks: [2, 2, 2, 4],
mask="99:99:99.9999" delimiters: [':', ':', '.'],
placeholder="HH:mm:ss.ssss" delimiterLazyShow: false}}
className="inputmask" className="inputmask"
onChange={this.callbackUpdateAngle} htmlRef={(ref) => this.input = ref }
ref={input =>{this.input = input}} onChange={this.callbackUpdateAngle} />
/>
); );
} }
} }
\ No newline at end of file
...@@ -92,7 +92,7 @@ const UnitConverter = { ...@@ -92,7 +92,7 @@ const UnitConverter = {
getAngleOutput(prpOutput, isDegree) { getAngleOutput(prpOutput, isDegree) {
if(prpOutput){ if(prpOutput){
const splitOutput = prpOutput.split(':'); const splitOutput = prpOutput.split(':');
const seconds = splitOutput[2]?splitOutput[2].split('.')[0].split('.')[0]:splitOutput[2]; const seconds = splitOutput[2]?splitOutput[2].split('.')[0]:splitOutput[2];
let milliSeconds = prpOutput.split('.')[1] || '0000'; let milliSeconds = prpOutput.split('.')[1] || '0000';
milliSeconds = milliSeconds.padEnd(4,0); milliSeconds = milliSeconds.padEnd(4,0);
if (isDegree) { if (isDegree) {
......
const Validator = { const Validator = {
validateTime(value) { validateTime(value) {
const splitOutput = value.split(':'); const splitOutput = value.split(':');
const seconds = splitOutput[2]?splitOutput[2].split('.')[0].split('.')[0]:splitOutput[2]; const seconds = splitOutput[2]?splitOutput[2].split('.')[0]:splitOutput[2];
let milliSeconds = value.split('.')[1] || '0000'; let milliSeconds = value.split('.')[1] || '0000';
milliSeconds = milliSeconds.padEnd(4,0); milliSeconds = milliSeconds.padEnd(4,0);
if (splitOutput.length < 3) { if (splitOutput.length < 3) {
...@@ -19,7 +19,7 @@ const Validator = { ...@@ -19,7 +19,7 @@ const Validator = {
}, },
validateAngle(value) { validateAngle(value) {
const splitOutput = value.split(':'); const splitOutput = value.split(':');
const seconds = splitOutput[2]?splitOutput[2].split('.')[0].split('.')[0]:splitOutput[2]; const seconds = splitOutput[2]?splitOutput[2].split('.')[0]:splitOutput[2];
let milliSeconds = value.split('.')[1] || '0000'; let milliSeconds = value.split('.')[1] || '0000';
milliSeconds = milliSeconds.padEnd(4,0); milliSeconds = milliSeconds.padEnd(4,0);
if (splitOutput.length < 3) { if (splitOutput.length < 3) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment