XPages主题和dojo属性

时间:2016-05-11 07:11:02

标签: dojo themes xpages

如何通过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>

1 个答案:

答案 0 :(得分:1)

Tony McGuckin刚才在openntf.org上添加了一段代码片段,它似乎正在为你所做的事情做点什么:

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>

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