aldeed:autoform-bs-datepicker
An add-on Meteor package for aldeed:autoform. Provides a single custom input type, "bootstrap-datepicker", which renders an input using the bootstrap-datepicker plugin.
Prerequisites
Bootstrap and the plugin library must be installed separately.
In a Meteor app directory, enter:
$ meteor add twbs:bootstrap $ meteor add rajit:bootstrap3-datepicker $ meteor add aldeed:autoform
Installation
In a Meteor app directory, enter:
$ meteor add aldeed:autoform-bs-datepicker
Usage
Specify "bootstrap-datepicker" for the type attribute of any input. This can be done in a number of ways:
In the schema, which will then work with a quickForm or afQuickFields:
1{ 2 date: { 3 type: Date, 4 autoform: { 5 type: "bootstrap-datepicker" 6 } 7 } 8}
Or on the afFieldInput component or any component that passes along attributes to afFieldInput:
1{{> afQuickField name="typeTest" type="bootstrap-datepicker"}} 2 3{{> afFormGroup name="typeTest" type="bootstrap-datepicker"}} 4 5{{> afFieldInput name="typeTest" type="bootstrap-datepicker"}}
Automatic Type Conversions
This input type is intended to be used with type: Date schema keys, but it also works with other schema types. Here's a list:
- Date: Value is stored as a- Dateobject representing midnight in the UTC timezone on the morning of the selected date.
- String: Value is stored as a string representation of the selected date in ISO format, e.g., "2014-11-25".
- Number: Value is stored as the result of calling- getTime()on the- Dateobject (representing midnight in the UTC timezone on the morning of the selected date).
- Array: If the schema expects an array of- Dateor- Stringor- Number, the value is converted to a one-item array and stored.
To provide bootstrap-datepicker options, set a datePickerOptions attribute equal to a helper that returns the options object. Most of the data-date attributes that the plugin recognizes should also work.
Customizing Appearance
To easily add an input group add-on after the field, just provide the classes for the span in a buttonClasses attribute:
1{{> afFieldInput name="typeTest" type="bootstrap-datepicker" buttonClasses="glyphicon glyphicon-calendar"}}
If you want to customize the appearance of the input more, for example to use input group add-ons both before and after the field, use the aldeed:template-extension package to replace the "afBootstrapDatepicker" template, like this:
1<template name="dpReplacement"> 2 <div class='input-group date'> 3 <input type="text" value="" {{atts}}/> 4 <span class="input-group-addon"> 5 <span class="glyphicon glyphicon-calendar"></span> 6 </span> 7 </div> 8</template>
1Template.dpReplacement.replaces("afBootstrapDatepicker");
Demo
Contributing
Anyone is welcome to contribute. Fork, make your changes, and then submit a pull request.


