用户界面的重复规则

应用程序以与事件记录上持久存储的方式不同的方式公开重复管理。 用户输入构造为独立字段,但持久性格式将整个重复规则保存在单个字符串中。 下图显示了应用程序开发的用户界面的示例,该用户界面提供了事件的每周 (每个星期一都没有结束) 重复规则:
图 1。 重复规则示例
文中对该图像进行了说明。

为了将数据移入和移出此 RRULE 字符串,平台使用公式函数,这些公式函数了解应用程序可以在重复规则表单中显示的结构化字段。 以下是平台在 createRruleFromEventUi() 和 applyRruleToEventUi() 函数中读取、写入或同时读取和写入的字段列表。

表 1. 与重复规则相关的业务对象字段
业务对象字段名称 有效值的描述
RecurrencePatternType DAILY/WEEKLY/MONTHLY/每年
DailyRecurrenceDays 表示每日事件发生之间的天数。

WeeklySunday

WeeklyMonday

WeeklyTuesday

WeeklyWednesday

WeeklyThursday

WeeklyFriday

WeeklySaturday

布尔值,表示每周事件是否应该在这一天发生。
WeeklyRecurrenceWeeks 表示每周事件发生之间的周数。
MonthlyWeekOfMonth 表示每月事件应发生的事件所在的月份的周的数字。 例如,负数表示一个月的倒数第二周。
MonthlyDayOfMonth 表示每月事件发生的日期的数字。 例如,负数表示一个月中倒数第二天。
MonthlyRecurrenceMonths 表示每月事件发生之间的月数。
YearlyDayOfMonth 表示应发生年度事件的月份中的某天的数字。 例如,负数表示一个月中倒数第二天。
YearlyWeekOfMonth 表示应发生年度事件的月份周的数字。 例如,负数表示一个月的倒数第二周。
YearlyMonth 表示应发生年度事件的年份的月份的数字。
YearlyDayOfWeek 表示应发生年度事件的星期几的数字。 例如,负数表示一周中倒数第二天。
EndDate 不应再出现的结束日期。
NoOfOccurrencesBeforeEnd 指示在重现事件完成之前应该发生的次数。
NoEndDate 指示此事件是否没有结束日期的布尔值。

当一条记录被传入 createRruleFromEventUi() 函数时,平台会从输入字段读取递归数据,以构建一个 iCal-compliant RRULE 字符串。

当向 applyRruleToEventUi() 函数传递 RRULE 字符串和记录时。 平台解构 RRULE ,并将其适当应用于输入字段,使应用程序能够以结构化格式呈现 RRULE。