控制子的主题设置属性

时间:2013-10-22 08:54:50

标签: xpages

我知道Button.command是普通按钮的主题ID,我可以为它设置属性。我知道eventHandlers默认没有主题ID。因此,为了集中设置eventHandler的属性,我历来在我的主题中添加了我的内容:

<control>
        <name>Button.EventHandler</name>
        <property mode="override">
            <name>onStart</name>
            <value>loading();</value>
        </property>
        <property mode="override">
            <name>onError</name>
            <value>stoploading();</value>
        </property>
        <property mode="override">
            <name>onComplete</name>
            <value>stoploading();</value>
        </property>
    </control>

但是我需要将themeId Button.EventHandler添加到每个eventHandler。

有没有办法在子主题的主题中设置属性,所以在所有作为Button.Command控件子项的eventHandler上设置属性?

1 个答案:

答案 0 :(得分:0)

我无法帮助您解决您的主题问题,但也许我可以为您解决一般问题。

我认为你试图实现的是将一些好的加载器附加到所有部分刷新事件。这可以通过使用dojo.subscribe API在较低级别完成:http://dojotoolkit.org/reference-guide/1.6/dojo/subscribe.html

示例代码:

// we need to activate io events
dojo.config.ioPublish = true
dojo.subscribe("/dojo/io/send", function(/*dojo.Deferred*/dfd){
    loading();
});
dojo.subscribe("/dojo/io/stop", function(){
    stoploading();
});

此代码必须在应用程序启动时运行(onClientLoad事件就可以了)