Search in sources :

Example 1 with ILabel

use of com.servoy.j2db.ui.ILabel in project servoy-client by Servoy.

the class WebBaseSelectBox method setComponentVisible.

/*
	 * visible---------------------------------------------------
	 */
public void setComponentVisible(boolean visible) {
    if (viewable || !visible) {
        setVisible(visible);
        if (labels != null) {
            for (int i = 0; i < labels.size(); i++) {
                ILabel label = labels.get(i);
                label.setComponentVisible(visible);
            }
        }
    }
}
Also used : ILabel(com.servoy.j2db.ui.ILabel) Point(java.awt.Point)

Example 2 with ILabel

use of com.servoy.j2db.ui.ILabel in project servoy-client by Servoy.

the class WebDataCheckBoxChoice method setComponentEnabled.

public void setComponentEnabled(final boolean b) {
    if (accessible || !b) {
        super.setEnabled(b);
        getStylePropertyChanges().setChanged();
        if (labels != null) {
            for (int i = 0; i < labels.size(); i++) {
                ILabel label = labels.get(i);
                label.setComponentEnabled(b);
            }
        }
    }
}
Also used : ILabel(com.servoy.j2db.ui.ILabel) Point(java.awt.Point)

Example 3 with ILabel

use of com.servoy.j2db.ui.ILabel in project servoy-client by Servoy.

the class WebDataCompositeTextField method setComponentEnabled.

public void setComponentEnabled(final boolean b) {
    if (accessible || !b) {
        super.setEnabled(b);
        field.setEnabled(b);
        getStylePropertyChanges().setChanged();
        if (labels != null) {
            for (int i = 0; i < labels.size(); i++) {
                ILabel label = labels.get(i);
                label.setComponentEnabled(b);
            }
        }
    }
}
Also used : ILabel(com.servoy.j2db.ui.ILabel) Point(java.awt.Point)

Example 4 with ILabel

use of com.servoy.j2db.ui.ILabel in project servoy-client by Servoy.

the class WebDataCompositeTextField method setComponentVisible.

/*
	 * visible---------------------------------------------------
	 */
public void setComponentVisible(boolean visible) {
    if (viewable || !visible) {
        setVisible(visible);
        if (labels != null) {
            for (int i = 0; i < labels.size(); i++) {
                ILabel label = labels.get(i);
                label.setComponentVisible(visible);
            }
        }
    }
}
Also used : ILabel(com.servoy.j2db.ui.ILabel) Point(java.awt.Point)

Example 5 with ILabel

use of com.servoy.j2db.ui.ILabel in project servoy-client by Servoy.

the class StripHTMLTagsConverter method convertBodyText.

/**
 * @param bodyText
 * @param solution
 * @return
 */
@SuppressWarnings("nls")
public static StrippedText convertBodyText(Component component, CharSequence unsanitizedbodyText, boolean trustDataAsHtml, FlattenedSolution solutionRoot) {
    CharSequence bodyText = WebBaseButton.sanitize(unsanitizedbodyText, trustDataAsHtml);
    StrippedText st = new StrippedText();
    if (RequestCycle.get() == null) {
        st.setBodyTxt(bodyText);
        return st;
    }
    // $NON-NLS-1$
    ResourceReference rr = new ResourceReference("media");
    String solutionName = solutionRoot.getSolution().getName();
    StringBuilder bodyTxt = new StringBuilder(bodyText.length());
    XmlPullParser parser = new XmlPullParser();
    ICrypt urlCrypt = null;
    if (Application.exists())
        urlCrypt = Application.get().getSecuritySettings().getCryptFactory().newCrypt();
    try {
        // $NON-NLS-1$ //$NON-NLS-2$
        parser.parse(new ByteArrayInputStream(bodyText.toString().getBytes("UTF8")), "UTF8");
        XmlTag me = (XmlTag) parser.nextTag();
        while (me != null) {
            CharSequence tmp = parser.getInputFromPositionMarker(me.getPos());
            if (tmp.toString().trim().length() > 0)
                bodyTxt.append(tmp);
            parser.setPositionMarker();
            String currentTagName = me.getName().toLowerCase();
            if (// $NON-NLS-1$
            currentTagName.equals("script")) {
                if (!me.isClose()) {
                    // $NON-NLS-1$
                    String srcUrl = (String) me.getAttributes().get("src");
                    // $NON-NLS-1$
                    if (srcUrl == null)
                        srcUrl = (String) me.getAttributes().get("SRC");
                    me = (XmlTag) parser.nextTag();
                    if (srcUrl != null) {
                        st.getJavascriptUrls().add(convertMediaReferences(srcUrl, solutionName, rr, "", true).toString());
                    } else {
                        if (me != null) {
                            st.getJavascriptScripts().add(parser.getInputFromPositionMarker(me.getPos()));
                            parser.setPositionMarker();
                        }
                    }
                } else {
                    me = (XmlTag) parser.nextTag();
                }
                continue;
            } else if (currentTagName.equals("style")) {
                if (me.isOpen()) {
                    me = (XmlTag) parser.nextTag();
                    List<CharSequence> styles = st.getStyles();
                    String style = parser.getInputFromPositionMarker(me.getPos()).toString().trim();
                    if (!"".equals(style) && !styles.contains(style)) {
                        styles.add(convertMediaReferences(style, solutionName, rr, "", false));
                    }
                    parser.setPositionMarker();
                } else {
                    me = (XmlTag) parser.nextTag();
                }
                continue;
            } else if (currentTagName.equals("link")) {
                if (me.isOpen() || me.isOpenClose()) {
                    String end = "\n";
                    if (me.isOpen())
                        end = "</link>\n";
                    st.getLinkTags().add(convertMediaReferences(me.toXmlString(null) + end, solutionName, rr, "", false));
                }
                me = (XmlTag) parser.nextTag();
                continue;
            }
            if (ignoreTags.contains(currentTagName)) {
                if (currentTagName.equals("body") && (me.isOpen() || me.isOpenClose())) {
                    if (me.getAttributes().size() > 0) {
                        st.addBodyAttributes(me.getAttributes());
                    }
                    me = (XmlTag) parser.nextTag();
                } else {
                    me = (XmlTag) parser.nextTag();
                }
                continue;
            }
            if (currentTagName.equals("img") && component instanceof ILabel) {
                ILabel label = (ILabel) component;
                String onload = "Servoy.Utils.setLabelChildHeight('" + component.getMarkupId() + "', " + label.getVerticalAlignment() + ");";
                onload = me.getAttributes().containsKey("onload") ? me.getAttributes().getString("onload") + ";" + onload : onload;
                me.getAttributes().put("onload", onload);
            }
            boolean ignoreOnclick = false;
            IValueMap attributeMap = me.getAttributes();
            // first transfer over the tabindex to anchor tags
            if (currentTagName.equals("a")) {
                int tabIndex = TabIndexHelper.getTabIndex(component);
                if (tabIndex != -1)
                    attributeMap.put("tabindex", Integer.valueOf(tabIndex));
            }
            // now they have to be lowercase. (that is a xhtml requirement)
            for (String attribute : scanTags) {
                // $NON-NLS-1$
                if (ignoreOnclick && attribute.equals("onclick"))
                    continue;
                String src = attributeMap.getString(attribute);
                if (src == null) {
                    continue;
                }
                String lowercase = src.toLowerCase();
                if (lowercase.startsWith(MediaURLStreamHandler.MEDIA_URL_DEF)) {
                    String name = src.substring(MediaURLStreamHandler.MEDIA_URL_DEF.length());
                    if (name.startsWith(MediaURLStreamHandler.MEDIA_URL_BLOBLOADER)) {
                        String url = generateBlobloaderUrl(component, urlCrypt, name);
                        me.getAttributes().put(attribute, url);
                    } else {
                        String translatedUrl = MediaURLStreamHandler.getTranslatedMediaURL(solutionRoot, lowercase);
                        if (translatedUrl != null) {
                            me.getAttributes().put(attribute, translatedUrl);
                        }
                    }
                } else if (component instanceof ISupportScriptCallback && lowercase.startsWith("javascript:")) {
                    String script = src;
                    if (script.length() > 13) {
                        String scriptName = script.substring(11);
                        if ("href".equals(attribute)) {
                            if (attributeMap.containsKey("externalcall")) {
                                attributeMap.remove("externalcall");
                            } else {
                                me.getAttributes().put("href", "#");
                                me.getAttributes().put("onclick", ((ISupportScriptCallback) component).getCallBackUrl(scriptName, true));
                                ignoreOnclick = true;
                            }
                        } else {
                            me.getAttributes().put(attribute, ((ISupportScriptCallback) component).getCallBackUrl(scriptName, "onclick".equals(attribute)));
                        }
                    }
                } else if (component instanceof FormComponent<?> && lowercase.startsWith("javascript:")) {
                    String script = src;
                    if (script.length() > 13) {
                        String scriptName = script.substring(11);
                        if ("href".equals(attribute)) {
                            me.getAttributes().put("href", "#");
                            me.getAttributes().put("onclick", getTriggerJavaScript((FormComponent<?>) component, scriptName));
                            ignoreOnclick = true;
                        } else {
                            me.getAttributes().put(attribute, getTriggerJavaScript((FormComponent<?>) component, scriptName));
                        }
                    }
                }
            }
            bodyTxt.append(me.toString());
            me = (XmlTag) parser.nextTag();
        }
        bodyTxt.append(parser.getInputFromPositionMarker(-1));
        // $NON-NLS-1$
        st.setBodyTxt(convertMediaReferences(convertBlobLoaderReferences(bodyTxt, component), solutionName, rr, "", false));
    } catch (ParseException ex) {
        Debug.error(ex);
        // $NON-NLS-1$
        bodyTxt.append("<span style=\"color : #ff0000;\">");
        bodyTxt.append(HCUtils.sanitize(ex.getMessage()));
        bodyTxt.append(bodyText.subSequence(ex.getErrorOffset(), Math.min(ex.getErrorOffset() + 100, bodyText.length())));
        // $NON-NLS-1$
        bodyTxt.append("</span></body></html>");
        st.setBodyTxt(bodyTxt);
    } catch (Exception ex) {
        Debug.error(ex);
        // $NON-NLS-1$
        bodyTxt.append("<span style=\"color : #ff0000;\">");
        bodyTxt.append(HCUtils.sanitize(ex.getMessage()));
        // $NON-NLS-1$
        bodyTxt.append("</span></body></html>");
        st.setBodyTxt(bodyTxt);
    }
    return st;
}
Also used : FormComponent(org.apache.wicket.markup.html.form.FormComponent) IValueMap(org.apache.wicket.util.value.IValueMap) ILabel(com.servoy.j2db.ui.ILabel) XmlPullParser(org.apache.wicket.markup.parser.XmlPullParser) ParseException(java.text.ParseException) ICrypt(org.apache.wicket.util.crypt.ICrypt) ByteArrayInputStream(java.io.ByteArrayInputStream) ArrayList(java.util.ArrayList) List(java.util.List) ResourceReference(org.apache.wicket.ResourceReference) ParseException(java.text.ParseException) XmlTag(org.apache.wicket.markup.parser.XmlTag)

Aggregations

ILabel (com.servoy.j2db.ui.ILabel)49 Point (java.awt.Point)40 RuntimeScriptLabel (com.servoy.j2db.ui.scripting.RuntimeScriptLabel)5 IRuntimeComponent (com.servoy.j2db.ui.runtime.IRuntimeComponent)4 IDisplayData (com.servoy.j2db.dataprocessing.IDisplayData)3 IComponent (com.servoy.j2db.ui.IComponent)3 IFieldComponent (com.servoy.j2db.ui.IFieldComponent)3 Component (org.apache.wicket.Component)3 FormComponent (org.apache.wicket.markup.html.form.FormComponent)3 RepositoryException (com.servoy.j2db.persistence.RepositoryException)2 CloseableAjaxRequestTarget (com.servoy.j2db.server.headlessclient.CloseableAjaxRequestTarget)2 MainPage (com.servoy.j2db.server.headlessclient.MainPage)2 IProviderStylePropertyChanges (com.servoy.j2db.ui.IProviderStylePropertyChanges)2 RuntimeScriptButton (com.servoy.j2db.ui.scripting.RuntimeScriptButton)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 List (java.util.List)2 ListItem (org.apache.wicket.markup.html.list.ListItem)2 FormController (com.servoy.j2db.FormController)1 IForm (com.servoy.j2db.IForm)1