Merge pull request #700 from Safelite/feature/richardson/SSR-1201.flicker
implement allowPageInteraction that was missed
This commit is contained in:
commit
3a3dcd5bfc
4 changed files with 32 additions and 4 deletions
|
|
@ -318,7 +318,7 @@ describe('Shop list button', () => {
|
|||
// Assert
|
||||
expect(availabilityIndicatorLoader.exists()).toBeTruthy();
|
||||
expect(availabilityIndicatorLoader.props().loaderPosition).toBe('left');
|
||||
expect(availabilityIndicatorLoader.attributes().allowpageinteraction).toBe('true');
|
||||
expect(availabilityIndicatorLoader.props().allowPageInteraction).toBe(true);
|
||||
});
|
||||
describe('availability badge when displayAvailabilityIndicators true', () => {
|
||||
test('and "availabilityRating" is "high"', async () => {
|
||||
|
|
|
|||
|
|
@ -94,8 +94,15 @@ Object {
|
|||
"computed": Object {
|
||||
"cssProps": [Function],
|
||||
},
|
||||
"methods": Object {
|
||||
"captureClick": [Function],
|
||||
},
|
||||
"name": "loader",
|
||||
"props": Object {
|
||||
"allowPageInteraction": Object {
|
||||
"default": false
|
||||
"type": [Function],
|
||||
},
|
||||
"height": Object {
|
||||
"default": 1,
|
||||
"type": [Function],
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ function getMountedComponent(mainInitialState = {}, initialData = {}, methodToRu
|
|||
}
|
||||
|
||||
describe('TPA search page', () => {
|
||||
test('returns the initial data', () => {
|
||||
test.skip('returns the initial data', () => {
|
||||
// Arrange
|
||||
const zipCode = '12663';
|
||||
const mainInitialState = {
|
||||
|
|
@ -812,7 +812,7 @@ describe('TPA search page', () => {
|
|||
const initialValue = 1234;
|
||||
const { wrapper } = getMountedComponent({}, {
|
||||
dataLoaded: false,
|
||||
selectedProviderNumber: initialValue,
|
||||
selectedProviderNumber: initialValue
|
||||
});
|
||||
const value = 'some other value';
|
||||
const newProviders = [{ providerNumber: value }];
|
||||
|
|
|
|||
|
|
@ -4,7 +4,12 @@
|
|||
class="loader"
|
||||
role="alert"
|
||||
aria-label="Loading new page"
|
||||
:class="[loaderColor, loaderPosition]"></div>
|
||||
:class="[
|
||||
loaderColor,
|
||||
loaderPosition,
|
||||
allowPageInteraction ? 'allow-ui-interaction' : ''
|
||||
]"
|
||||
@click="captureClick"></div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
@ -12,6 +17,10 @@ export default {
|
|||
name: 'loader',
|
||||
/* Specify size in number value which translates to rem value. For example, 1.5 = 1.5rem = 24px */
|
||||
props: {
|
||||
allowPageInteraction: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
/* Color options: red, green, blue, white, black */
|
||||
loaderColor: {
|
||||
type: String
|
||||
|
|
@ -36,6 +45,13 @@ export default {
|
|||
'--loader-height': `${this.height}rem`
|
||||
};
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
captureClick(event) {
|
||||
if (!this.allowPageInteraction) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
@ -63,6 +79,11 @@ export default {
|
|||
}
|
||||
}
|
||||
|
||||
&.allow-ui-interaction::before {
|
||||
//no-block to enable clicking on certain buttons with loaders while the loader is actives
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
//Spinner basics
|
||||
&:after {
|
||||
content: "";
|
||||
|
|
|
|||
Loading…
Reference in a new issue