-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adjusting rescale value for small/large numbers #1272
base: main
Are you sure you want to change the base?
Changes from all commits
5965afc
33f019b
429375c
580df2f
a3b002e
9f7b1b6
eac65d7
1d4d878
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This work was previously approved in: #1190. Then reverted when bug was identified. I needed to pull those changes back in to correctly reflect updates. |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This work was previously approved in: #1190. Then reverted when bug was identified. I needed to pull those changes back in to correctly reflect updates. |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This work was previously approved in: #1190. Then reverted when bug was identified. I needed to pull those changes back in to correctly reflect updates. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import React from 'react'; | ||
import { TextInput, TextInputMask } from '@trussworks/react-uswds'; | ||
|
||
export function USWDSTextInput(props) { | ||
return <TextInput {...props} />; | ||
} | ||
|
||
export function USWDSTextInputMask(props) { | ||
return <TextInputMask {...props} />; | ||
} |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This work was previously approved in: #1190. Then reverted when bug was identified. I needed to pull those changes back in to correctly reflect updates. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
/* Removing the default appearance */ | ||
.thumb, | ||
.thumb::-webkit-slider-thumb { | ||
touch-action: 'none'; | ||
|
||
-webkit-appearance: none; | ||
-webkit-tap-highlight-color: transparent; | ||
} | ||
|
||
.thumb { | ||
pointer-events: none; | ||
} | ||
/* For Chrome browsers */ | ||
.thumb::-webkit-slider-thumb { | ||
-webkit-appearance: none; | ||
pointer-events: all; | ||
width: 20px; | ||
height: 20px; | ||
background-color: #fff; | ||
border-radius: 50%; | ||
border: 2px solid #1565ef; | ||
border-width: 1px; | ||
box-shadow: 0 0 0 1px #c6c6c6; | ||
cursor: pointer; | ||
} | ||
|
||
/* For Firefox browsers */ | ||
.thumb::-moz-range-thumb { | ||
-webkit-appearance: none; | ||
pointer-events: all; | ||
width: 20px; | ||
height: 20px; | ||
background-color: #fff; | ||
border-radius: 50%; | ||
border: 2px solid #1565ef; | ||
border-width: 1px; | ||
box-shadow: 0 0 0 1px #c6c6c6; | ||
cursor: pointer; | ||
} | ||
|
||
input::-webkit-outer-spin-button, | ||
input::-webkit-inner-spin-button { | ||
-webkit-appearance: none; | ||
margin: 0; | ||
} | ||
|
||
/* Firefox */ | ||
input[type='number'] { | ||
-moz-appearance: textfield; | ||
} | ||
|
||
.tooltiptext { | ||
background-color: #2c3e50; | ||
} | ||
|
||
.tooltipmin::after { | ||
snmln marked this conversation as resolved.
Show resolved
Hide resolved
|
||
left: 10px; | ||
} | ||
|
||
.tooltipmax::after { | ||
right: 10px; | ||
} | ||
|
||
.tooltiptext::after { | ||
content: ''; | ||
position: absolute; | ||
top: 95%; | ||
border-width: 10px 10px 0px 10px; | ||
border-style: solid; | ||
border-color: #2c3e50 transparent; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
import React from 'react'; | ||
import '@testing-library/jest-dom'; | ||
|
||
import { fireEvent, render, screen, waitFor } from '@testing-library/react'; | ||
|
||
import { ColorRangeSlider } from './index'; | ||
|
||
describe('colorRangeSlider should render with correct content.', () => { | ||
const colorRangeData = { | ||
min: 0, | ||
max: 0.3, | ||
colorMapScale: { max: 0.263, min: 0.131 }, | ||
setColorMapScale: jest.fn() | ||
}; | ||
|
||
beforeEach(() => { | ||
render(<ColorRangeSlider {...colorRangeData} />); | ||
}); | ||
afterEach(() => { | ||
jest.clearAllMocks(); | ||
}); | ||
|
||
it('Renders correct content', async () => { | ||
const maxSlider = screen.getByTestId('maxSlider'); | ||
const minSlider = screen.getByTestId('minSlider'); | ||
const maxInput = screen.getByTestId('maxInput'); | ||
const minInput = screen.getByTestId('minInput'); | ||
|
||
expect(screen.getByText('Rescale')).toBeInTheDocument(); | ||
await waitFor(() => { | ||
expect(minSlider).toHaveValue('0.131'); | ||
expect(maxSlider).toHaveValue('0.263'); | ||
expect(minInput).toHaveValue(0.131); | ||
expect(maxInput).toHaveValue(0.263); | ||
}); | ||
}); | ||
|
||
it('Shows error when number entered above max', () => { | ||
const minInput = screen.getByTestId('minInput'); | ||
|
||
fireEvent.change(minInput, { target: { value: 0.29 } }); | ||
expect( | ||
screen.getByText('Please enter a value less than 0.263') | ||
).toBeInTheDocument(); | ||
}); | ||
it('Shows error when number entered below min', () => { | ||
const maxInput = screen.getByTestId('maxInput'); | ||
|
||
fireEvent.change(maxInput, { target: { value: -0.1 } }); | ||
expect( | ||
screen.getByText('Please enter a value larger than 0.131') | ||
).toBeInTheDocument(); | ||
}); | ||
it('Shows error when number entered outside of min and max', () => { | ||
const minInput = screen.getByTestId('minInput'); | ||
|
||
fireEvent.change(minInput, { target: { value: -0.1 } }); | ||
expect( | ||
screen.getByText('Please enter a value between 0 and 0.3') | ||
).toBeInTheDocument(); | ||
const maxInput = screen.getByTestId('maxInput'); | ||
|
||
fireEvent.change(maxInput, { target: { value: 0.4 } }); | ||
expect( | ||
screen.getByText('Please enter a value between 0 and 0.3') | ||
).toBeInTheDocument(); | ||
}); | ||
}); | ||
|
||
describe('colorRangeSlider should render with correct display content', () => { | ||
const colorRangeData = { | ||
min: -0.0000003, | ||
max: 0.0000003, | ||
colorMapScale: { max: 0.000000263, min: -0.000000131 }, | ||
setColorMapScale: jest.fn() | ||
}; | ||
|
||
beforeEach(() => { | ||
render(<ColorRangeSlider {...colorRangeData} />); | ||
}); | ||
afterEach(() => { | ||
jest.clearAllMocks(); | ||
}); | ||
|
||
it('Renders correct content', async () => { | ||
const maxSlider = screen.getByTestId('maxSlider'); | ||
const minSlider = screen.getByTestId('minSlider'); | ||
const maxInput = screen.getByTestId('maxInput'); | ||
const minInput = screen.getByTestId('minInput'); | ||
|
||
expect(screen.getByText('Rescale')).toBeInTheDocument(); | ||
await waitFor(() => { | ||
expect(minSlider).toHaveValue('-1.31e-7'); | ||
expect(maxSlider).toHaveValue('2.63e-7'); | ||
expect(minInput).toHaveValue(-1.31e-7); | ||
expect(maxInput).toHaveValue(2.63e-7); | ||
}); | ||
}); | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This work was previously approved in: #1190. Then reverted when bug was identified. I needed to pull those changes back in to correctly reflect updates.