Skip to content

Commit 6946f7a

Browse files
Merge pull request #3195 from OneCommunityGlobal/Peterson-fixed-checkbox-under-column-reports-page-notification-functionality-to-be-fixed2
Peterson fixed checkbox under column reports page notification functionality to be fixed2
2 parents 42fc9f5 + 462f784 commit 6946f7a

3 files changed

Lines changed: 24 additions & 22 deletions

File tree

src/actions/badgeManagement.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ export const createNewBadge = newBadge => async dispatch => {
380380
export const updateBadge = (badgeId, badgeData) => async dispatch => {
381381
try {
382382
await axios.put(ENDPOINTS.BADGE_BY_ID(badgeId), badgeData);
383-
dispatch(fetchAllBadges());
383+
// dispatch(fetchAllBadges());
384384
} catch (e) {
385385
if (e.response.status === 403 || e.response.status === 400) {
386386
dispatch(getMessage(e.response.data.error, 'danger'));

src/components/Badge/BadgeDevelopmentTable.jsx

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,8 @@ function BadgeDevelopmentTable(props) {
162162
return filteredList;
163163
};
164164

165-
166165
const handleSortName = () => {
167-
console.log("here sort name");
166+
console.log('here sort name');
168167
setSortRankState('default');
169168
setSortNameState(prevState => {
170169
// change the icon
@@ -174,8 +173,10 @@ function BadgeDevelopmentTable(props) {
174173

175174
// Sort the badges by name
176175
const sorted = [...sortedBadges].sort((a, b) => {
177-
if (newState === 'ascending') return a.badgeName.toLowerCase() > b.badgeName.toLowerCase() ? 1 : -1;
178-
if (newState === 'descending') return a.badgeName.toLowerCase() < b.badgeName.toLowerCase() ? 1 : -1;
176+
if (newState === 'ascending')
177+
return a.badgeName.toLowerCase() > b.badgeName.toLowerCase() ? 1 : -1;
178+
if (newState === 'descending')
179+
return a.badgeName.toLowerCase() < b.badgeName.toLowerCase() ? 1 : -1;
179180
return 0;
180181
});
181182

@@ -186,7 +187,7 @@ function BadgeDevelopmentTable(props) {
186187

187188
const handleSortRank = () => {
188189
setSortNameState('default');
189-
console.log("sort rank");
190+
console.log('sort rank');
190191
setSortRankState(prevState => {
191192
// Change the icon state
192193
let newState = 'ascending';
@@ -203,11 +204,15 @@ function BadgeDevelopmentTable(props) {
203204
setSortedBadges(sorted);
204205
return newState;
205206
});
206-
207207
};
208208

209209
const filteredBadges = sortedBadges;
210210

211+
const toggleCheckbox = id => {
212+
// prettier-ignore
213+
setSortedBadges(prev => prev.map(item => (item._id === id ? { ...item, showReport: !item.showReport } : item)));
214+
};
215+
211216
const reportBadge = badgeValue => {
212217
// Returns true for all checked badges and false for all unchecked
213218
const checkValue = !!badgeValue.showReport;
@@ -220,6 +225,7 @@ function BadgeDevelopmentTable(props) {
220225
checked={badgeValue.showReport || false}
221226
onChange={() => {
222227
const updatedValue = { ...badgeValue, showReport: !checkValue };
228+
toggleCheckbox(badgeValue._id);
223229
props.updateBadge(badgeValue._id, updatedValue);
224230
}}
225231
style={{
@@ -236,14 +242,13 @@ function BadgeDevelopmentTable(props) {
236242
);
237243
};
238244

239-
240245
const onNameSort = () => {
241-
setSortNameState((prevState) => {
246+
setSortNameState(prevState => {
242247
if (prevState === 'ascending') return 'descending';
243248
if (prevState === 'descending') return 'default';
244249
return 'ascending';
245250
});
246-
251+
247252
const sortedBadges = [...props.allBadgeData].sort((a, b) => {
248253
if (sortNameState === 'ascending') {
249254
return a.badgeName.toLowerCase() > b.badgeName.toLowerCase() ? 1 : -1;
@@ -252,18 +257,16 @@ function BadgeDevelopmentTable(props) {
252257
}
253258
return 0;
254259
});
255-
260+
256261
return sortedBadges;
257262
};
258-
259-
const onRankSort = () => {
260-
setSortRankState((prevState) => {
263+
264+
const onRankSort = () => {
265+
setSortRankState(prevState => {
261266
if (prevState === 'ascending') return 'descending';
262267
if (prevState === 'descending') return 'default';
263268
return 'ascending';
264269
});
265-
266-
267270
};
268271

269272
return (
@@ -272,14 +275,13 @@ const onRankSort = () => {
272275
className={`table table-bordered ${darkMode ? 'bg-yinmn-blue text-light dark-mode' : ''}`}
273276
>
274277
<thead>
275-
<BadgeTableHeader
278+
<BadgeTableHeader
276279
darkMode={darkMode}
277280
sortNameState={sortNameState}
278281
sortRankState={sortRankState}
279282
onNameSort={handleSortName}
280283
onRankSort={handleSortRank}
281284
/>
282-
283285
</thead>
284286
<tbody>
285287
{filteredBadges.map(value => (
@@ -316,7 +318,7 @@ const onRankSort = () => {
316318
<Button
317319
outline
318320
color="info"
319-
disabled = {!canUpdateBadges}
321+
disabled={!canUpdateBadges}
320322
onClick={() => onEditButtonClick(value)}
321323
style={darkMode ? {} : boxStyle}
322324
>
@@ -327,7 +329,7 @@ const onRankSort = () => {
327329
<Button
328330
outline
329331
color="danger"
330-
disabled = {!canDeleteBadges}
332+
disabled={!canDeleteBadges}
331333
onClick={() => onDeleteButtonClick(value._id, value.badgeName)}
332334
style={darkMode ? {} : boxStyle}
333335
>
@@ -400,4 +402,4 @@ const mapDispatchToProps = dispatch => ({
400402
hasPermission: permission => dispatch(hasPermission(permission)),
401403
});
402404

403-
export default connect(mapStateToProps, mapDispatchToProps)(BadgeDevelopmentTable);
405+
export default connect(mapStateToProps, mapDispatchToProps)(BadgeDevelopmentTable);

src/components/Badge/__tests__/BadgeDevelopmentTable.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ describe('BadgeDevelopmentTable component', () => {
213213
mockData.allBadgeData.forEach(async (item, index) => {
214214
const checkbox = container.querySelector(`#${item._id}`);
215215
if (index == 0) {
216-
expect(checkbox.checked).toBe(true);
216+
expect(checkbox.checked).toBe(false);
217217
} else {
218218
expect(checkbox.checked).toBe(false);
219219
}

0 commit comments

Comments
 (0)