Note Footer Configuration Effect

The NoteFooterConfiguration effect configures the note footer at the note level (rather than per button). Its primary use is hiding Canvas’s default state-transition buttons — Lock, Sign, Push charges, Delete, and so on — so that a plugin can supply its own footer buttons in their place, such as with Note State Action Buttons.

Return this effect in response to the NOTE_FOOTER__GET_CONFIGURATION event, which fires when a note’s footer is loaded. If your handler does not return a configuration, the default state-transition buttons remain visible.


How it works #

As a note’s footer loads, Canvas fires NOTE_FOOTER__GET_CONFIGURATION targeting that note’s external id. A handler subscribed to the event returns a NoteFooterConfiguration effect to configure the footer. If no plugin returns one, the footer keeps its default configuration.

Event payload #

PropertyValueDescription
event.target.idstr (UUID)The external id of the Note whose footer is loading.
event.actoruserThe logged-in user viewing the note, when available.
event.context{}Empty — no additional context is provided.

Attributes #

FieldTypeDefaultDescription
hide_default_state_buttonsboolFalseHide Canvas’s native footer state-transition buttons for this note.

Example #

from canvas_sdk.effects import Effect
from canvas_sdk.effects.note_footer_configuration import NoteFooterConfiguration
from canvas_sdk.events import EventType
from canvas_sdk.handlers.base import BaseHandler


class HideDefaultStateButtons(BaseHandler):
    RESPONDS_TO = EventType.Name(EventType.NOTE_FOOTER__GET_CONFIGURATION)

    def compute(self) -> list[Effect]:
        return [NoteFooterConfiguration(hide_default_state_buttons=True).apply()]