RRulePickerController constructor
RRulePickerController({})
Creates a new RRulePickerController.
initialRRule is the initial recurrence rule string. Defaults to an empty
string. Takes precedence over RRulePicker.initialRRule.
defaultTimeZone is the default time zone to be used for the excluded
dates. Defaults to ExcludedDatesController.defaultTimeZone.
Takes precedence over RRulePicker.timeZone.
enableExcludedDates determines whether the excluded dates feature
is enabled. Defaults to true. Takes precedence over
RRulePicker.enableExcludedDates.
Implementation
RRulePickerController({
String initialRRule = '',
String defaultTimeZone = ExcludedDatesController.defaultTimeZone,
bool enableExcludedDates = true,
}) : _excludedDatesEnabled = ValueNotifier(enableExcludedDates),
_recurrenceType = .new(RecurrenceType.fromRRule(initialRRule)) {
_recurrenceType.addListener(_rruleChanged);
_daily = .new(listener: _rruleChanged, initialRRule: initialRRule);
_weekly = .new(listener: _rruleChanged, initialRRule: initialRRule);
_monthly = .new(listener: _rruleChanged, initialRRule: initialRRule);
_yearly = .new(listener: _rruleChanged, initialRRule: initialRRule);
_excludedDates = .new(
initialRRule: initialRRule,
defaultTimeZone: defaultTimeZone,
);
if (_excludedDatesEnabled.value) {
_excludedDates.addListener(_rruleChanged);
}
_rrule = _buildRRule();
}