ws-forms-recurrence
Version:
A jQuery widget for specifying event recurrences in scheduling systems.
84 lines (64 loc) • 1.87 kB
Markdown
ws-forms-recurrence
=================
A jQuery widget for specifying event recurrences in scheduling systems.

npm i ws-forms-recurrence --save
Launch [sample.html](sample.html).
```html
<script type="text/javascript" src="node_modules/jquery/dist/jquery.min.js"></script>
<!-- If using timezones include luxon library.
<script type="text/javascript" src="node_modules/luxon/build/global/luxon.min.js"></script>
-->
<script type="text/javascript" src="node_modules/ws-forms-recurrence/dist/ws-forms-recurrence.min.js"></script>
```
```javascript
// Initialization.
$('#container').wsFormsRecurrence(opts);
// Instance access
$('#container').data('ws.forms.recurrence');
```
Or
```javascript
// Directly create instance.
new ws.forms.Recurrence('#container', opts);
```
By default everything is in local time. If you want to create timezone based recurrences include the [luxon](https://github.com/moment/luxon/) library before ws-forms-recurrence script and pass an IANA timezone name in the recurrence options.
See [sample.html](sample.html) for more details.
```javascript
{
// General settings.
modes: ['weekly', 'monthly'],
debounce: 200,
cssPrefix: 'ws-form',
timezone: null, // A valid IANA Timezone name.
// Weekly settings.
days: ['monday', 'tuesday', ...],
minDays: 0,
maxDays: 7,
strings: {
// Frequency.
frequencyLabel: 'Frequency',
frequencyHint: null,
// Weekly.
weekly: 'Weekly',
weeksLabel: 'Every',
weeksHint: 'weeks(s)',
daysLabel: 'On',
daysHint: null,
dayNames: ['Su', 'Mo', 'Di', ...], // 0-based.
// Monthly.
monthly: 'Monthly',
monthsLabel: 'Every',
monthsHint: 'month(s)',
// Until.
untilLabel: null,
untilHint: null,
untilEnabledLabel: 'Until'
}
}
```