Before an [up-hungry] element is added to a render pass, an event up:fragment:hungry is emitted on that element.
You may prevent the up:fragment:hungry event to exclude a hungry element from the render pass.
Use this to define arbitrary conditions for when a hungry element should be updated.
For example, the following would update a hungry element only for render passes that update history:
element.addEventListener('up:fragment:hungry', function(event) {
if (!event.renderOptions.history) event.preventDefault()
})
You may also define conditions based on the new element that a hungry element would be swapped with.
The following would skip an update if the new element has the class .is-empty:
element.addEventListener('up:fragment:hungry', function(event) {
if (event.newFragment.classList.contains('is-empty')) {
event.preventDefault()
}
})
The fragment in the new content that this hungry element would be swapped with.
Prevents the hungry element from being targeted in the current render pass.
Tip Your coding agent can search these docs locally with the Unpoly agent skill