In short: I've got grid of purchases, once I click on any purchase, I see links detail and approve purchase. When I click on 'approve purchase', modal window appears and I should be able to approve purchase (change status parameter of any purchase). Problem is, that I don't know how to pass row._id (purchase ID) to this modal window.
This is how important part of my code looks like:
template:
<div{{ attributes.add(stimulus_controller('purchases/purchases')) }}>
{% set debounceMs = 'debounce(1000)' %}
{% set foundCount = this.purchasesCount %}
{% component 'bootstrap_modal' with {targetId: 'approve-purchase-modal'} %}
{% block modal_header %}
{# {{ dump(app.request) }}#}
<div class="modal-header">
<h6>Purchase approval #{{ purchaseId }}</h6>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
{% endblock %}
{% block modal_body %}
<div class="filter-wrap">
<form id="approve-purchase-form" class="f-column">
<div class="form-group center">
<button type="button" class="btn btn-primary btn-sm agree d-flex"
data-action="live#action"
data-live-action-param="prevent|approvePurchase"
data-live-index-param="{{ purchaseId }}"
data-bs-dismiss="modal"
>Approve
</button>
</div>
</form>
</div>
{% endblock %}
{% endcomponent %}
purchases_controller.js
window.detailFormatter = function (index, row) {
let html = []
html.push('<ul class="actions edit-actions ' + row._class + '">'
+'<li><a class="blue" data-app-folder-type="purchase-detail" data-app-folder-title="'+row.desc+'" data-app-folder-id="'+row._id+'">Detail</a></li>'
+'<li><a id="approve-purchase" title="" data-bs-purchase-id="'+row._id+'" data-bs-toggle="modal" data-bs-target="#approve-purchase-modal" data-toggle="tooltip" data-placement="top"'
+'</ul>'
)
return html
How to process that
data-bs-purchase-id="'+row._id+'"
back to twig to pass it to modal as purchaseId