Example usage for org.w3c.dom.events Event preventDefault

List of usage examples for org.w3c.dom.events Event preventDefault

Introduction

In this page you can find the example usage for org.w3c.dom.events Event preventDefault.

Prototype

public void preventDefault();

Source Link

Document

If an event is cancelable, the preventDefault method is used to signify that the event is to be canceled, meaning any default action normally taken by the implementation as a result of the event will not occur.

Usage

From source file:de.betterform.xml.xforms.action.AbstractAction.java

/**
 * This method is called whenever an event occurs of the type for which the
 * <code>EventListener</code> interface was registered.
 *
 * @param event The <code>Event</code> contains contextual information about
 *              the event. It also contains the <code>stopPropagation</code> and
 *              <code>preventDefault</code> methods which are used in determining the
 *              event's flow and default action.
 *///from  ww  w  .  j  a v a  2 s . c  o m
public final void handleEvent(Event event) {
    try {
        if (event.getType().equals(this.eventType)) {
            boolean doPerform = false;

            if (this.propagate.equals("stop")) {
                event.stopPropagation();
            }
            if (this.defaultAction.equals("cancel")) {
                event.preventDefault();
            }

            if (getLogger().isTraceEnabled()) {
                String currentEventId = (((Element) event.getCurrentTarget()).getAttribute("id"));
                String targetEventId = (((Element) event.getTarget()).getAttribute("id"));
                LOGGER.trace(
                        "currentEventTargetId: '" + currentEventId + "' eventTargetId:'" + targetEventId + "'");

                getLogger().trace("handling event '" + this.eventType + "' target: "
                        + DOMUtil.getCanonicalPath(this.element) + "' Event Phase: (" + event.getEventPhase()
                        + ")");
            }

            if (getLogger().isDebugEnabled()) {
                switch (event.getEventPhase()) {
                case Event.CAPTURING_PHASE:
                    if (getLogger().isDebugEnabled()) {
                        getLogger().debug("CAPTURING PHASE");
                    }

                    break;
                case Event.AT_TARGET:
                    if (getLogger().isDebugEnabled()) {
                        getLogger().debug("AT_TARGET");
                    }

                    break;
                case Event.BUBBLING_PHASE:
                    if (getLogger().isDebugEnabled()) {
                        getLogger().debug("BUBBLING");
                    }
                    break;
                }
            }

            if (event.getEventPhase() == Event.CAPTURING_PHASE && this.phase.equals("capture")) {
                doPerform = true;
            } else if (event.getEventPhase() == Event.AT_TARGET) {
                doPerform = true;
            } else if (event.getEventPhase() == Event.BUBBLING_PHASE) {
                doPerform = true;
            }

            String targetEventId = (((Element) event.getTarget()).getAttribute("id"));
            if (!(this.eventTargetId.equals(""))) {
                if (event.getType().equals(this.eventType) && targetEventId.equals(this.eventTargetId)) {
                    doPerform = true;
                } else {
                    doPerform = false;
                }
            }

            if (doPerform) {
                performConditional(this.element);
            }
        }
    } catch (Exception e) {
        // handle exception, prevent default action and stop event propagation
        this.container.handleEventException(e);
        event.preventDefault();
        event.stopPropagation();
    }
}

From source file:com.vladsch.idea.multimarkdown.editor.MultiMarkdownFxPreviewEditor.java

protected void workerStateChanged(ObservableValue<? extends Worker.State> observable, Worker.State oldState,
        Worker.State newState) {/*from w  ww . j  a  v a 2 s .co  m*/
    //logger.info("[" + instance + "] " + "newState: " + newState + ", oldState: " + oldState);
    if (newState == Worker.State.SUCCEEDED) {
        // restore scroll if we had it
        JSObject jsobj = (JSObject) webEngine.executeScript("window");
        jsobj.setMember("java", new JSBridge(this));

        EventListener listener = new EventListener() {
            @Override
            public void handleEvent(org.w3c.dom.events.Event evt) {
                evt.stopPropagation();
                evt.preventDefault();

                if (project.isDisposed())
                    return;

                Element link = (Element) evt.getCurrentTarget();
                org.w3c.dom.Document doc = webEngine.getDocument();
                final String href = link.getAttribute("href");
                if (href.charAt(0) == '#') {
                    if (href.length() != 1) {
                        // tries to go to an anchor
                        String hrefName = href.substring(1);
                        // scroll it into view
                        try {
                            JSObject result = (JSObject) webEngine.executeScript("(function () {\n"
                                    + "    var elemTop = 0;\n" + "    var elems = '';\n"
                                    + "    var elem = window.document.getElementById('" + hrefName + "');\n"
                                    + "    if (!elem) {\n"
                                    + "        var elemList = window.document.getElementsByTagName('a');\n"
                                    + "        for (a in elemList) {\n"
                                    + "            var aElem = elemList[a]\n"
                                    + "            if (aElem.hasOwnProperty('name') && aElem.name == '"
                                    + hrefName + "') {\n" + "                elem = aElem;\n"
                                    + "                break;\n" + "            }\n" + "        }\n" + "    }\n"
                                    + "    if (elem) {\n"
                                    + "        while (elem && elem.tagName !== 'HTML') {\n"
                                    + "            elems += ',' + elem.tagName + ':' + elem.offsetTop\n"
                                    + "            if (elem.offsetTop) {\n"
                                    + "                elemTop += elem.offsetTop;\n"
                                    + "                break;\n" + "            }\n"
                                    + "            elem = elem.parentNode\n" + "        }\n" + "    }\n"
                                    + "    return { elemTop: elemTop, elems: elems, found: !!elem };\n" + "})()"
                                    + "");
                            int elemTop = (Integer) result.getMember("elemTop");
                            boolean elemFound = (Boolean) result.getMember("found");
                            String parentList = (String) result.getMember("elems");
                            //logger.trace(parentList);
                            if (elemFound)
                                webEngine.executeScript("window.scroll(0, " + elemTop + ")");
                        } catch (JSException ex) {
                            String error = ex.toString();
                            logger.info("[" + instance + "] " + "JSException on script", ex);
                        }
                    }
                } else {
                    MultiMarkdownPathResolver.launchExternalLink(project, href);
                }
            }
        };

        NodeList nodeList;
        org.w3c.dom.Document doc = webEngine.getDocument();
        if (doc != null) {
            ((EventTarget) doc.getDocumentElement()).addEventListener("contextmenu", new EventListener() {
                @Override
                public void handleEvent(Event evt) {
                    evt.preventDefault();
                }
            }, false);

            Element el = doc.getElementById("a");
            nodeList = doc.getElementsByTagName("a");
            for (int i = 0; i < nodeList.getLength(); i++) {
                ((EventTarget) nodeList.item(i)).addEventListener("click", listener, false);
            }

            // all images are mapped during conversion. Any relative ones are not resolved.
            //nodeList = doc.getElementsByTagName("img");
            //for (int i = 0; i < nodeList.getLength(); i++) {
            //    HTMLImageElementImpl imgNode = (HTMLImageElementImpl) nodeList.item(i);
            //    String src = imgNode.getSrc();
            //    if (!src.startsWith("http://") && !src.startsWith("https://") && !src.startsWith("ftp://") && !src.startsWith("file://")) {
            //        // relative to document, change it to absolute file://
            //        // this means it does not resolve, leave it
            //        if (!project.isDisposed() && containingFile != null && resolver != null) {
            //            ImageLinkRef linkRef = new ImageLinkRef(new FileRef(containingFile), src, null, null);
            //            PathInfo resolvedTarget = resolver.resolve(linkRef, LinkResolver.ONLY_URI, null);
            //
            //            assert resolvedTarget == null || resolvedTarget instanceof LinkRef && linkRef.isURI() : "Expected URI LinkRef, got " + linkRef;
            //            if (resolvedTarget != null) {
            //                imgNode.setSrc(resolvedTarget.getFilePath());
            //            }
            //        }
            //    }
            //}
        }

        if (pageScript != null && pageScript.length() > 0) {
            webEngine.executeScript(pageScript);
        }

        // enable debug if it is enabled in settings
        if (MultiMarkdownGlobalSettings.getInstance().enableFirebug.getValue()) {
            enableDebug();
        }

        String scroll = scrollOffset;
        if (scroll != null) {
            try {
                //webEngine.executeScript("window.java.log('test info')");
                webEngine.executeScript(
                        "" + "window.setTimeout(function () { " + "    window.java.log('before scroll');"
                                + "    " + scroll + ";\n" + "    window.java.log('after scroll');" + "}, 50);");
            } catch (Exception e) {
                logger.info("[" + instance + "] " + "JSException on script", e);
            }
        }

        try {
            webEngine.executeScript("window.addEventListener('scroll', function() { "
                    + "    window.java.onScroll();" + "    window.setTimeout(function () { "
                    + "        window.java.repaint()" + "    }, 100);" + "})");
        } catch (Exception e) {
            logger.info("[" + instance + "] " + "", e);
        }

        //if (needStyleSheetUpdate) {
        //    setStyleSheet();
        //}
    }

    if (newState == Worker.State.READY || newState == Worker.State.FAILED
            || newState == Worker.State.SUCCEEDED) {
        htmlWorkerRunning = false;
    }
}

From source file:de.betterform.xml.xforms.ui.Repeat.java

/**
 * This method is called whenever an event occurs of the type for which the
 * <code>EventListener</code> interface was registered.
 *
 * @param event The <code>Event</code> contains contextual information about
 *              the event. It also contains the <code>stopPropagation</code> and
 *              <code>preventDefault</code> methods which are used in determining the
 *              event's flow and default action.
 *///from  www  .  j av  a  2s  . com
public void handleEvent(Event event) {
    try {
        String instancePath = (String) ((XercesXMLEvent) event).getContextInfo().get("canonPath");
        instancePath = instancePath.substring(0, instancePath.lastIndexOf("["));

        if (this.nodeset.size() == 0) {
            return;
        }
        Node n = (Node) ((NodeWrapper) this.nodeset.get(0)).getUnderlyingNode();
        String path = DOMUtil.getCanonicalPath(n);
        path = path.substring(0, path.lastIndexOf("["));

        if (instancePath.equals(path)) {
            if (BetterFormEventNames.NODE_INSERTED.equals(event.getType())) {
                handleNodeInserted(event);
                return;
            }
            // event is dispatched by Instance
            if (BetterFormEventNames.NODE_DELETED.equals(event.getType())) {
                handleNodeDeleted(event);
                return;
            }
        }
    } catch (Exception e) {
        // handle exception, prevent default action and stop event propagation
        this.container.handleEventException(e);
        event.preventDefault();
        event.stopPropagation();
    }
}

From source file:org.chiba.xml.xforms.action.AbstractAction.java

/**
 * This method is called whenever an event occurs of the type for which the
 * <code>EventListener</code> interface was registered.
 *
 * @param event The <code>Event</code> contains contextual information about
 * the event. It also contains the <code>stopPropagation</code> and
 * <code>preventDefault</code> methods which are used in determining the
 * event's flow and default action.//w  ww  .  j  a  v a2  s  .c o m
 */
public final void handleEvent(Event event) {
    try {
        if (event.getType().equals(this.eventType)) {
            if (getLogger().isDebugEnabled()) {
                String phase = "";
                switch (event.getEventPhase()) {
                case Event.CAPTURING_PHASE:
                    phase = "capturing phase";
                    break;
                case Event.AT_TARGET:
                    phase = "at target";
                    break;
                case Event.BUBBLING_PHASE:
                    phase = "bubbling phase";
                    break;
                }
                getLogger().debug(this + " handling event '" + this.eventType + "' (" + phase + ")");
            }

            setEvent(event);

            if (event instanceof XMLEvent)
                eventContextInfo = ((XMLEvent) event).getContextInfo();

            performWhileAndIf(this.element);

        }
    } catch (Exception e) {
        // handle exception, prevent default action and stop event propagation
        this.container.handleEventException(e);
        event.preventDefault();
        event.stopPropagation();
    }
}

From source file:org.chiba.xml.xforms.ui.Repeat.java

/**
 * This method is called whenever an event occurs of the type for which the
 * <code>EventListener</code> interface was registered.
 *
 * @param event The <code>Event</code> contains contextual information about
 * the event. It also contains the <code>stopPropagation</code> and
 * <code>preventDefault</code> methods which are used in determining the
 * event's flow and default action.//from w  ww  .  j  a va 2  s .  co m
 */
public void handleEvent(Event event) {
    try {
        if (ChibaEventNames.NODE_INSERTED.equals(event.getType())) {
            handleNodeInserted(event);
            return;
        }
        if (ChibaEventNames.NODE_DELETED.equals(event.getType())) {
            handleNodeDeleted(event);
            return;
        }
    } catch (Exception e) {
        // handle exception, prevent default action and stop event propagation
        this.container.handleEventException(e);
        event.preventDefault();
        event.stopPropagation();
    }
}

From source file:org.chiba.xml.xforms.ui.Submit.java

/**
 * This method is called whenever an event occurs of the type for which the
 * <code>EventListener</code> interface was registered.
 *
 * @param event The <code>Event</code> contains contextual information about
 * the event. It also contains the <code>stopPropagation</code> and
 * <code>preventDefault</code> methods which are used in determining the
 * event's flow and default action.// w ww .j ava 2  s .com
 */
public void handleEvent(Event event) {
    try {
        if (event.getType().equals(DOMEventNames.ACTIVATE)) {
            // from the spec: Upon receiving event DOMActivate, this form control
            // dispatches event xforms-submit to the submission element specified
            // by required attribute submission.
            this.container.dispatch(this.submissionId, XFormsEventNames.SUBMIT, null);
            return;
        }
    } catch (Exception e) {
        // handle exception, prevent default action and stop event propagation
        this.container.handleEventException(e);
        event.preventDefault();
        event.stopPropagation();
    }
}