Skip to content

Commit 51eb2f2

Browse files
committed
Made the pulses pageable.
1 parent 302142f commit 51eb2f2

File tree

1 file changed

+28
-11
lines changed

1 file changed

+28
-11
lines changed

web-ui/src/pages/PulseReportPage.jsx

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import {
2222
SentimentSatisfied,
2323
SentimentVerySatisfied,
2424
} from '@mui/icons-material';
25+
import ArrowBackIcon from '@mui/icons-material/ArrowBack';
26+
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
2527
import {
2628
Avatar,
2729
Card,
@@ -120,7 +122,7 @@ const PulseReportPage = () => {
120122
const [expanded, setExpanded] = useState(false);
121123
const [scoreChartData, setScoreChartData] = useState([]);
122124
const [pulses, setPulses] = useState([]);
123-
const [pulsesUpperBounds, setPulsesUpperBounds] = useState(pulsesPerPage);
125+
const [pulsesPageNumber, setPulsesPageNumber] = useState(0);
124126
const [scope, setScope] = useState('Individual');
125127
const [scoreType, setScoreType] = useState(ScoreOption.COMBINED);
126128
const [selectedPulse, setSelectedPulse] = useState(null);
@@ -333,7 +335,7 @@ const PulseReportPage = () => {
333335
return compare;
334336
});
335337
setPulses(pulses);
336-
setPulsesUpperBounds(pulsesPerPage);
338+
setPulsesPageNumber(0);
337339
};
338340

339341
useEffect(() => {
@@ -694,7 +696,10 @@ const PulseReportPage = () => {
694696
);
695697

696698
const responseSummary = () => {
697-
const pulsesSlice = pulses.slice(0, pulsesUpperBounds);
699+
const leftDisabled = (pulsesPageNumber <= 0);
700+
const rightDisabled = (((pulsesPageNumber + 1) * pulsesPerPage) >= pulses.length);
701+
const start = pulsesPageNumber * pulsesPerPage;
702+
const pulsesSlice = pulses.slice(start, start + pulsesPerPage);
698703

699704
let filteredPulses = pulsesSlice;
700705
const teamMemberIds = teamMembers.map(member => member.id);
@@ -738,14 +743,26 @@ const PulseReportPage = () => {
738743
</div>
739744
);
740745
})}
741-
{pulsesUpperBounds < pulses.length &&
742-
<Link to="#" style={{ cursor: 'pointer' }} onClick={(event) => {
743-
event.preventDefault();
744-
setPulsesUpperBounds(pulsesUpperBounds + pulsesPerPage);
745-
}}>
746-
Load more...
747-
</Link>
748-
}
746+
<Link to="#"
747+
style={leftDisabled ? { cursor: 'auto' } : { cursor: 'pointer' }}
748+
onClick={(event) => {
749+
event.preventDefault();
750+
if (!leftDisabled) {
751+
setPulsesPageNumber(pulsesPageNumber - 1);
752+
}
753+
}}>
754+
<ArrowBackIcon/>
755+
</Link>
756+
<Link to="#"
757+
style={rightDisabled ? { cursor: 'auto' } : { cursor: 'pointer' }}
758+
onClick={(event) => {
759+
event.preventDefault();
760+
if (!rightDisabled) {
761+
setPulsesPageNumber(pulsesPageNumber + 1);
762+
}
763+
}}>
764+
<ArrowForwardIcon/>
765+
</Link>
749766
</>
750767
);
751768
};

0 commit comments

Comments
 (0)