• Settings
    • Locale
    • Change the locale of the datepicker, schedule and client side validation messages.

      Language
      English
      English
      English
      French
      German
      German
      German
      Italian
      Korean
      Spanish
      Catalan
      Dutch
      Portuguese
      Portuguese
      Arabic
      Arabic
      Bulgarian
      Bangla
      Bosnian
      Czech
      Greek
      Estonian
      Persian
      Finnish
      Danish
      Hindi
      Indonesian
      Icelandic
      Croatian
      Japanese
      Hungarian
      Hebrew
      Georgian
      Central Kurdish
      Khmer
      Kyrgyz
      Kazakh
      Lithuanian
      Latvian
      Malay
      Norwegian
      Polish
      Romanian
      Russian
      Slovak
      Slovenian
      Serbian
      Serbian
      Swedish
      Thai
      Turkish
      Ukrainian
      Uzbek
      Vietnamese
      Chinese
      Chinese
  • Resources

MonacoEditor Events

MonacoEditor forwards the events of the Monaco API as AJAX behavior events and client-side callbacks.

MonacoEditor Tag Documentation

Inline Monaco code editor (no iframe).

NameTypeRequiredDefaultDescription
id String false generated Unique identifier of the component in a namingContainer.
rendered Boolean false generated Unique identifier of the component in a namingContainer.
binding UIComponent false generated An EL expression referring to a server side UIComponent instance in a backing bean.
extender String false Extender script: JavaScript expression that evaluates to an extender instance.
overflowWidgetsDomNode String false Search expression for a component; places overflow widgets inside an external DOM node.

MonacoEditorFramed Tag Documentation

Framed Monaco code editor (iframe).

NameTypeRequiredDefaultDescription
id String false generated Unique identifier of the component in a namingContainer.
rendered Boolean false generated Unique identifier of the component in a namingContainer.
binding UIComponent false generated An EL expression referring to a server side UIComponent instance in a backing bean.
extender String false URL to an extender script loaded into the iframe.
iframeUrlParams Object false Additional URL params added to the iframe URL. Either a Map<String, String> or a String with a JavaScript expression that evaluates to an object representing such a map.
Tag Documentation Widget Source Basic Localization Events Theme Extender Diff Diff Localization Diff Events Diff Theme Diff Extender
Events

The widget forwards several events of the Monaco API: blur, change, focus, initialized, keydown, keyup, mousedown, mousemove, mouseup and paste. Attach a server-side listener with p:ajax or a client-side callback with the on<event> attributes. Here every event shows a growl message in the onstart callback of the behavior and cancels the request by returning false; avoid server-side listeners for frequent events such as mousemove.

Usage


<style>
    .monacoEditorBox {
        border: 1px solid var(--p-content-border-color);
        min-width: 0;
    }
</style>
<h:outputScript library="js" name="monacoColorScheme.js"/>

<div class="card">
    <h5>Events</h5>
    <p>
        The widget forwards several events of the Monaco API: <i>blur</i>, <i>change</i>, <i>focus</i>, <i>initialized</i>, <i>keydown</i>, <i>keyup</i>, <i>mousedown</i>, <i>mousemove</i>, <i>mouseup</i> and <i>paste</i>. Attach a server-side listener with <code>p:ajax</code> or a client-side callback with the <code>on&lt;event&gt;</code> attributes. Here every event shows a growl message in the <code>onstart</code> callback of the behavior and cancels the request by returning <code>false</code>; avoid server-side listeners for frequent events such as <i>mousemove</i>.
    </p>
    <h:form id="formEvents">

        <p:growl id="growl" showDetail="true" showSummary="true" life="1000" widgetVar="growl" />

        <p:selectOneButton id="type" value="#{monacoEditorController.type}" styleClass="monacoSync">
            <f:selectItem itemLabel="Inline" itemValue="inline" />
            <f:selectItem itemLabel="Iframe" itemValue="framed" />
            <p:ajax process="@form" update="@(.monacoSync)" />
        </p:selectOneButton>

        <h:panelGroup id="monacoEditorWrapper" layout="block" styleClass="monacoEditorBox monacoSync">
            <pe:monacoEditor id="monacoEditor" widgetVar="monacoEditorEvents"
                rendered="#{monacoEditorController.type eq 'inline'}"
                value="#{monacoEditorController.value}"
                editorOptions="#{monacoEditorController.editorOptions}"
                width="100%" height="400px"
                autoResize="true"
                onblur="console.log('blur')" onchange="console.log('change')"
                onfocus="console.log('focus')" oninitialized="console.log('initialized'); monacoFollowScheme.call(this)"
                onkeydown="console.log('keydown')" onkeyup="console.log('keyup')"
               	onmousedown="console.log('mousedown')" onmousemove="console.log('mousemove')"
               	onmouseup="console.log('mouseup')" onpaste="console.log('paste')"
            >
                <p:ajax event="initialized" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />

                <p:ajax event="blur" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="change" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="focus" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="keydown" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="keyup" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="mousedown" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="mousemove" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="mouseup" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="paste" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
            </pe:monacoEditor>

            <pe:monacoEditorFramed id="monacoEditorFramed" widgetVar="monacoEditorFramedEvents"
                rendered="#{monacoEditorController.type eq 'framed'}"
                value="#{monacoEditorController.valueFramed}"
                editorOptions="#{monacoEditorController.editorOptionsFramed}"
                width="100%" height="400px"
                autoResize="true"
                onblur="console.log('blur')" onchange="console.log('change')"
                onfocus="console.log('focus')" oninitialized="console.log('initialized'); monacoFollowScheme.call(this)"
                onkeydown="console.log('keydown')" onkeyup="console.log('keyup')"
                onmousedown="console.log('mousedown')" onmousemove="console.log('mousemove')"
                onmouseup="console.log('mouseup')" onpaste="console.log('paste')"
            >
                <p:ajax event="initialized" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />

                <p:ajax event="blur" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="change" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="focus" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="keydown" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="keyup" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="mousedown" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="mousemove" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="mouseup" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
                <p:ajax event="paste" onstart="PF('growl').add({severity:'info',summary:'AJAX event',detail:cfg.event});return false;" />
            </pe:monacoEditorFramed>
        </h:panelGroup>
    </h:form>
</div>