【问题标题】:XPages theme and dojo attributesXPages 主题和 dojo 属性
【发布时间】:2016-05-11 07:11:01
【问题描述】:

如何在 XPages 中通过 Theme 设置 dojo 属性和 dom 属性?

有可能吗?

我想为所有CKEditor设置dojo皮肤,例如我设置dojoType..

<control>
    <name>InputField.RichText</name>
    <property>
        <name>dojoType</name>
        <value>MY_DOJO_TYPE</value>
    </property>
</control>

UPD:我尝试了这段代码,但它不起作用

<property>
    <name>dojoAttributes</name>
    <complex type="xp_dojoAttribute">
        <property>
            <name>name</name>
            <value>skin</value>
        </property>
        <property>
            <name>value</name>
            <value>MY_CKEDITOR_SKIN_PATH</value>
        </property>
    </complex>
</property>

【问题讨论】:

    标签: dojo themes xpages


    【解决方案1】:

    Tony McGuckin 不久前在 openntf.org 上添加了一个代码 sn-p,它似乎正在做你想要的:

    https://openntf.org/XSnippets.nsf/snippet.xsp?id=set-dojoattributes-and-attrs-on-a-control-in-an-xpages-theme-file

    到目前为止我还没有尝试过,但认为这样做是个好主意!

    编辑:自己只是尝试了几个选项;有些事情可以工作,有些事情根本不会做出反应,甚至会抛出运行时错误。以下是有效有效和无效的列表:

    我为控件ccDocRtf.inputRichtext1 定义了一个自定义主题ID。

    dojoType:这是控制级别的计算属性;在主题中我是这样说的:

    <control>
        <name>ccDocRtf.inputRichtext1</name>
        <property mode="override">
            <name>dojoType</name>
            <value>#{javascript:@ClientType().equals("Web") ? "my.custom.packagename.CKEDITOR" : ""}</value>
        </property>
    

    dojoAttributes:所有静态属性设置都可以正常工作,例如:

        <property
            mode="override">
            <name>dojoAttributes</name>
            <complex
                type="xp_dojoAttribute">
                <property>
                    <name>name</name>
                    <value>toolbar</value>
                </property>
                <property>
                    <name>value</name>
                    <value>myToolbarName</value>
                </property>
            </complex>
            <complex
                type="xp_dojoAttribute">
                <property>
                    <name>name</name>
                    <value>extraPlugins</value>
                </property>
                <property>
                    <name>value</name>
                    <value>autogrow</value>
                </property>
            </complex>
            <complex
                type="xp_dojoAttribute">
                <property>
                    <name>name</name>
                    <value>width</value>
                </property>
                <property>
                    <name>value</name>
                    <value>99%</value>
                </property>
            </complex>
        </property>
    </control>
    

    我还有两个需要计算的属性要设置;由于某种原因,我无法让那些工作。也许我会抽出时间进一步调查,因为我发现这是一个有趣的选择。

    【讨论】:

    • 我自己试过了——有些选项可以设置,有些则不能;查看我编辑的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多