Continuing the discussion from Developer’s guide to Discourse Themes:
Dear all,
I was wondering if parameters could be injected from the template to an action and I couldn’t find a positive nor a negative answer in @Johani’s guide. My objective is to have multiple widgets generated by the template, and the action from each one would know the parameter of the {{#each}} loop.
An example, after selecting the category notification multichoice button:
<script type="text/x-handlebars" data-template-name="components/some_component">
{{#each categories as |c|}}
{{category-notifications-button
value=c.notification_level
category=c
onChange=(action "changeCategoryNotificationLevel" ***somehow_inject_c_as_a_parameter***)
}}
{{/each}}
</script>
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:some_component", {
actions: {
changeCategoryNotificationLevel(selected_value, ***c_as_a_parameter***) {
c_as_a_parameter.setNotification(notificationLevel);
}
}
}
});
</script>
Is there a way, inside changeCategoryNotificationLevel to know which category I’m in from the template ?
If not, if my problem is well is described well enough, can anyone see an other way to achieve the same outcome ?
Thanks in advance