Skip to content

Commit 0d589fe

Browse files
committed
Fix UI feedback on failing star/unstar api calls
1 parent 0dd8336 commit 0d589fe

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

plugins/SegmentEditor/API.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ public function star(int $idSegment): array
376376

377377
return [
378378
'result' => $result,
379+
'starred' => 1,
379380
'starred_by' => $login,
380381
];
381382
}
@@ -400,6 +401,7 @@ public function unstar(int $idSegment): array
400401
$result = $this->getModel()->updateSegment($idSegment, $bind);
401402

402403
return [
404+
'starred' => 0,
403405
'result' => $result,
404406
];
405407
}

plugins/SegmentEditor/javascripts/Segmentation.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -462,13 +462,16 @@ Segmentation = (function($) {
462462
"userLogin": piwik.userLogin,
463463
"idSegment": idSegment,
464464
}, 'POST');
465-
ajaxHandler.setErrorCallback(function () {
466-
segment.starred = !segment.starred;
467-
updateStarredSegment(segment, true);
468-
});
465+
ajaxHandler.useCallbackInCaseOfError();
469466
ajaxHandler.setCallback(function (response) {
470-
segment.starred_by = response.starred_by;
471-
updateStarredSegment(segment);
467+
if (!response || response.result == 'error') {
468+
segment.starred = !segment.starred;
469+
updateStarredSegment(segment, true);
470+
} else {
471+
segment.starred = !!response.starred;
472+
segment.starred_by = response.starred_by;
473+
updateStarredSegment(segment);
474+
}
472475
});
473476
ajaxHandler.send();
474477
}

0 commit comments

Comments
 (0)