var app = angular.module('plunker', ['ngMaterial']);
app.controller('MainCtrl', function($scope) {
var monthFormat = buildLocaleProvider("MMM-YYYY");
var ymdFormat = buildLocaleProvider( "YYYY-MM-DD");
function buildLocaleProvider(formatString) {
return {
formatDate: function (date) {
if (date) return moment(date).format(formatString);
else return null;
},
parseDate: function (dateString) {
if (dateString) {
var m = moment(dateString, formatString, true);
return m.isValid() ? m.toDate() : new Date(NaN);
}
else return null;
}
};
}
$scope.dateFields = [
{
type: 'date',
required: false,
binding: 'applicant.pickADate',
label: 'Standard Date Field - picking day, month and year',
startView: 'day',
mode: 'day',
locale: ymdFormat
},
{
type: 'date',
required: true,
binding: 'applicant.dateOfBirth',
label: 'Date of Birth (date picker that starts with month and year, but still needs day)',
startView: 'month',
mode: 'day',
locale: ymdFormat
},
{
type: 'date',
required: false,
binding: 'applicant.expectedGraduation',
startView: 'month',
label: 'Credit Card Expiry - Year/Month picker',
mode: 'month',
locale: monthFormat
}
];
});
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS material-sidenav Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="https://static.formhero.io/formhero/js/material/v1.1.1-fh-build/angular-material.min.css">
<link rel="stylesheet" href="style.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment-with-locales.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://static.formhero.io/formhero/js/material/v1.1.1-fh-build/angular-material.min.js"></script>
<script src="app.js"></script>
</head>
<body layout="row" layout-wrap flex layout-fill layout-align="start start" ng-controller="MainCtrl">
<md-input-container flex="100" layout="column">
<div style="font-size: 10px; color: blue;" label ng-bind="::dateFields[0].label"></div>
<md-datepicker ng-model="dateFields[0].selectedDate"
ng-required="dateFields[0].required"
md-date-locale="dateFields[0].locale"
md-current-view="month"
md-open-on-focus="true">
</md-datepicker>
</md-input-container>
<md-input-container flex="100" layout="column">
<div style="font-size: 10px; color: blue;" label ng-bind="::dateFields[1].label"></div>
<md-datepicker ng-model="dateFields[1].selectedDate"
ng-required="dateFields[1].required"
md-date-locale="dateFields[1].locale"
md-current-view="year"
md-open-on-focus="true">
</md-datepicker>
</md-input-container>
<md-input-container flex="100" layout="column">
<div style="font-size: 10px; color: blue;" label ng-bind="::dateFields[2].label"></div>
<md-datepicker ng-model="dateFields[2].selectedDate"
ng-required="dateFields[2].required"
md-date-locale="dateFields[2].locale"
md-mode="{{dateFields[2].mode}}"
md-open-on-focus="true">
</md-datepicker>
</md-input-container>
</body>
</html>
/* Put your css in here */