I'm using ui:scrollerWrapper
to implement scrolling functionality in Salesforce1 application as the default SLDS-SCROLL is still not compatible in Salesforce1 app.
Recently, I'm facing scrolling issues in all the devices, when scrolling is enabled using the ui:scrollerWrapper
.
The scrolling is not at all smooth in devices. Also, sometimes, the scrollbar disappears while scrolling!
I've tested out the same in the latest iOS version (10.3.1) and the Salesforce1 app version 12.2 (Build #3031637) in iPad as well as in iPhone.
I've created an unmanaged package so that it's easier to replicate the issue.
Here's the link to install the unmanaged package:- https://login.salesforce.com/packaging/installPackage.apexp?p0=04t28000000qnoC
Is there anything wrong in which I've enabled scrolling functionality using ui:scrollerWrapper? It would be great if anyone could provide any workarounds to fix the scroll issue.
I'm just posting the code as well so that people who don't have time to install the package could just skim through the code and provide any valuable feedback for the same.
Component:-
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes" access="global" >
<ui:scrollerWrapper class="scrollableWrap">
<div class="slds slds-grid slds-wrap tableDiv">
<ui:scrollerWrapper class="scrollableinnerWrap">
<div class="slds-col slds-size--1-of-1 salesManagerForecastTableWrap">
<table class="salesManagerForecastTable slds-table slds-table--bordered" id="myTable" width="100%">
<tr align="center">
<th width="" class="slds-cell-wrap slds-text-align--left" scope="col">
<b> Name </b>
</th>
<th width="" class="slds-cell-wrap slds-text-align--right" scope="col">
<b> Forecast <br/> </b>
</th>
<th width="" class="slds-cell-wrap slds-text-align--center" scope="col">
</th>
<th width="" class="slds-cell-wrap slds-text-align--right" scope="col">
<b> Closed Won </b>
</th>
<th width="" class="slds-cell-wrap slds-text-align--right" scope="col">
<b> Commit <br/> </b>
</th>
<th width="" class="slds-cell-wrap slds-text-align--right" scope="col">
<b> Best Case <br/> </b>
</th>
<th width="" class="slds-cell-wrap slds-text-align--right" scope="col">
<b> Predicted Amount <br/></b>
</th>
<th width="" class="slds-cell-wrap slds-text-align--right" scope="col">
<b> Quota <br/> </b>
</th>
</tr>
<tbody>
<tr>
<td align="left" class="slds-cell-wrap slds-text-align--left">
<ui:outputText value="Test Data" />
</td>
<td align="right" class="slds-cell-wrap slds-text-align--right">
<ui:outputText value="Test Data" />
<div class="progressBarContainer">
<div class="progressBar">
<div class="progressPercent" style="width:77%;"></div>
</div>
<div class="progressBarValue">77%</div>
</div>
</td>
<td align="center" class="slds-cell-wrap slds-text-align--center">
<div style="position:relative;">
</div>
</td>
<td align="right" class="slds-cell-wrap slds-text-align--right">
<div class="forecastDataVal">
<ui:outputText value="250000"/>
</div>
<div class="progressBarContainer">
<div class="progressBar">
<div class="progressPercent" style="width:55%;"></div>
</div>
<div class="progressBarValue">55%</div>
</div>
</td>
<td align="right" class="slds-cell-wrap slds-text-align--right">
<div class="forecastDataVal">
<ui:outputText value="9998986768"/>
</div>
<div class="progressBarContainer">
<div class="progressBar">
<div class="progressPercent" style="width:33%;"></div>
</div>
<div class="progressBarValue">33%</div>
</div>
</td>
<td align="right" class="slds-cell-wrap slds-text-align--right">
<div class="forecastDataVal">
<ui:outputText value="9900000"/>
</div>
<div class="progressBarContainer">
<div class="progressBar">
<div class="progressPercent" style="width:99%;"></div>
</div>
<div class="progressBarValue">99%</div>
</div>
</td>
<td align="right" class="slds-cell-wrap slds-text-align--right">
<div class="forecastDataVal">
<ui:outputText value="75676867"/>
</div>
<div class="progressBarContainer">
<div class="progressBar">
<div class="progressPercent" style="width:32%;"></div>
</div>
<div class="progressBarValue">32%</div>
</div>
</td>
<td align="right" class="slds-cell-wrap slds-text-align--right">
<ui:outputText value="987996786" />
</td>
</tr>
</tbody>
</table>
</div>
</ui:scrollerWrapper>
</div>
</ui:scrollerWrapper>
</aura:component>
Style:-
.THIS.scrollableWrap{
width: 100%;
}
.THIS .progressBarContainer{
min-width: 135px;
}
.THIS .tableDiv{
width: 100%;
}
.THIS .progressBar {
width: 95px;
background-color: #ddd;
display: inline-block;
}
.THIS .progressPercent {
height: 3px;
background-color: #0192ff;
text-align: center;
color: white;
max-width: 100%;
}
.THIS .progressBarValue{
width: 40px;
display: inline-block;
color: #0192ff;
font-size: 10px;
}
.THIS .scrollableinnerWrap{
width: 60%;
}