如何在xpage中使用日期时间选择器控件设置时间间隔

时间:2015-09-02 10:37:03

标签: xpages

我想使用日期时间选择器控件设置15分钟的时间间隔。 通过单击向上键选择时间。 莲花多米诺骨牌服务器8.5.3默认增加时间为5分钟,莲花多米诺骨牌服务器9增加1分钟。 任何人都可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:0)

xp:dateTimeHelper标记上没有任何选项可以为日期 - 时间 - 两个选择器控件设置15分钟的间隔。 在没有官方方法的情况下,您可以尝试在控件的相关子部分使用smallDelta选项,但它不能面向未来,因为控件实现中的更改可能会破坏此代码,我还没有彻底地测试过它。此外,还需要实现defaultValue。

在日期 - 时间 - 两个控件的TimeSpinner部分设置smallDelta的示例:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:inputText id="inputText1" value="#{viewScope.value1}">
        <xp:this.converter>
            <xp:convertDateTime type="both"></xp:convertDateTime>
        </xp:this.converter>
        <xp:this.defaultValue><![CDATA[#{javascript://
            // TODO set default time to current-time modulo 15min,
            // to prevent use of un-mod'd now time,
            // which leads to time interval options like:
            //  4:03, 4:18, 4:33, 4:48, etc
        //}]]></xp:this.defaultValue>
        <xp:dateTimeHelper></xp:dateTimeHelper>
    </xp:inputText>
    <xp:scriptBlock id="scriptBlock1">
        <xp:this.value><![CDATA[//
        //Modify the behavior of all TimeSpinners on the page
        require(["ibm/xsp/widget/layout/TimeSpinner"], function(timeSpinner){
            // arrow keys delta:
            timeSpinner.prototype.smallDelta = 15; // 15min
            // page up/down delta:
            timeSpinner.prototype.largeDelta = 180; // 3hours
        });
        //]]></xp:this.value>
    </xp:scriptBlock>
</xp:view>