Show TOC

ButtonLocate this document in the navigation structure

Use

You can find this example in the system under BSP application SBSPEXT_HTMLB, page button.bsp (package SBSPEXT_HTMLB).

Layout

<%@page language="abap"%>
<%@ extension name="htmlb" prefix="htmlb"%>
<htmlb:content>
  <htmlb:page title = "BSP Extension: HTMLB / Element: Button">
    <htmlb:form>

      <htmlb:button  id    = "myButton1"
                     text  = "standard"
      />

<br><br>

      <htmlb:button  id    = "myButton2"
                     text  = "Emphasized button"
                  tooltip  = "button quick info: Please click me"
                  onClick  = "MyButtonClick"
                   design  = "emphasized"
      />

<br><br>

      <htmlb:button  id    = "myButton3"
                     text  = "Small button with fixed size "
                  tooltip  = "button tooltip: Please click me"
            onClientClick  = "alert('myButton3 Clicked')"
                   design  = "small"
                    width  = "300"
      />
    </htmlb:form>
  </htmlb:page>
</htmlb:content>
            

OnInputProcessing

CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
* Optional: test that this is an event from HTMLB library.
IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.


* Scenario 1: Read event from manager.

DATA: event TYPE REF TO CL_HTMLB_EVENT.
  event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).

IF event->name = 'button' AND event->event_type = 'click'.
  DATA: button_event TYPE REF TO CL_HTMLB_EVENT_BUTTON.
  button_event ?= event.
ENDIF.


* Scenario 2: Dispatch event directly onto event class

DATA: event_handler TYPE REF TO CL_HTMLB_EVENT_EXAMPLE.
  CREATE OBJECT event_handler.
  CL_HTMLB_MANAGER=>dispatch_event(
      request       = runtime->server->request
      event_handler = event_handler
      page_context  = page_context
      ).

ENDIF.
            

Output