How to update content in a block after flagging event without page reload?
Hy, I'm fairly new to Drupal 8. I have a custom entity type called Event and using the Flag module I added the option to "Favorite the event" and finally I have a custom block which displays the number of Events each User has favorited. Everytime a user "favorites" a new event the block obviously shows the old value. I have set up cache invalidation, so if the user refreshes the page he will see the updated/correct number. Now my question is, how can I update the block's number without refreshing the page. I can't find an easy example anywhere. The Flag module's docs are outdated or incomplete and I think the answer lies in subscribing to the Flagging event and performing actions there, I just don't know how to include or perform a javascript action ("if it's needed, I assume it is). Any help would be greatly appreciated.
drupal-8
add a comment |
Hy, I'm fairly new to Drupal 8. I have a custom entity type called Event and using the Flag module I added the option to "Favorite the event" and finally I have a custom block which displays the number of Events each User has favorited. Everytime a user "favorites" a new event the block obviously shows the old value. I have set up cache invalidation, so if the user refreshes the page he will see the updated/correct number. Now my question is, how can I update the block's number without refreshing the page. I can't find an easy example anywhere. The Flag module's docs are outdated or incomplete and I think the answer lies in subscribing to the Flagging event and performing actions there, I just don't know how to include or perform a javascript action ("if it's needed, I assume it is). Any help would be greatly appreciated.
drupal-8
add a comment |
Hy, I'm fairly new to Drupal 8. I have a custom entity type called Event and using the Flag module I added the option to "Favorite the event" and finally I have a custom block which displays the number of Events each User has favorited. Everytime a user "favorites" a new event the block obviously shows the old value. I have set up cache invalidation, so if the user refreshes the page he will see the updated/correct number. Now my question is, how can I update the block's number without refreshing the page. I can't find an easy example anywhere. The Flag module's docs are outdated or incomplete and I think the answer lies in subscribing to the Flagging event and performing actions there, I just don't know how to include or perform a javascript action ("if it's needed, I assume it is). Any help would be greatly appreciated.
drupal-8
Hy, I'm fairly new to Drupal 8. I have a custom entity type called Event and using the Flag module I added the option to "Favorite the event" and finally I have a custom block which displays the number of Events each User has favorited. Everytime a user "favorites" a new event the block obviously shows the old value. I have set up cache invalidation, so if the user refreshes the page he will see the updated/correct number. Now my question is, how can I update the block's number without refreshing the page. I can't find an easy example anywhere. The Flag module's docs are outdated or incomplete and I think the answer lies in subscribing to the Flagging event and performing actions there, I just don't know how to include or perform a javascript action ("if it's needed, I assume it is). Any help would be greatly appreciated.
drupal-8
drupal-8
asked Nov 17 '18 at 19:30
BarsonjaBarsonja
132
132
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Use Ajax Command on block and don't forget to attach ajax.core library to block.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53354785%2fhow-to-update-content-in-a-block-after-flagging-event-without-page-reload%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Use Ajax Command on block and don't forget to attach ajax.core library to block.
add a comment |
Use Ajax Command on block and don't forget to attach ajax.core library to block.
add a comment |
Use Ajax Command on block and don't forget to attach ajax.core library to block.
Use Ajax Command on block and don't forget to attach ajax.core library to block.
answered Nov 21 '18 at 10:16
DenisDenis
5919
5919
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53354785%2fhow-to-update-content-in-a-block-after-flagging-event-without-page-reload%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown