ui: do not refresh page on problem star

This commit is contained in:
undefined committed 2022-12-19 13:25:13 +08:00
1 parent e3e89ca43f
commit 2f9a8b70bd
1 file changed
+3 -2
@@ -2,7 +2,7 @@ import $ from 'jquery';
import { AutoloadPage } from 'vj/misc/Page'; import { AutoloadPage } from 'vj/misc/Page';
import { request } from 'vj/utils'; import { request } from 'vj/utils';
function setStarButtonState($starButton, star) { function setStarButtonState($starButton: JQuery<any>, star: boolean) {
if (star) { if (star) {
$starButton.addClass('activated'); $starButton.addClass('activated');
} else { } else {
@@ -12,11 +12,12 @@ function setStarButtonState($starButton, star) {
const starPage = new AutoloadPage('starPage', () => { const starPage = new AutoloadPage('starPage', () => {
$(document).on('click', '.star', (ev) => { $(document).on('click', '.star', (ev) => {
ev.preventDefault();
const $button = $(ev.currentTarget); const $button = $(ev.currentTarget);
const currentState = $button.hasClass('activated'); const currentState = $button.hasClass('activated');
const $form = $button.closest('form'); const $form = $button.closest('form');
const $op = $form.find('[name="operation"]'); const $op = $form.find('[name="operation"]');
if (!['star', 'unstar'].includes($op.val())) return; if (!['star', 'unstar'].includes($op.val() as any)) return;
$op.val(currentState ? 'unstar' : 'star'); $op.val(currentState ? 'unstar' : 'star');
setStarButtonState($button, !currentState); setStarButtonState($button, !currentState);
request request