var DemoApp = angular.module('DemoApp', ['dx']);
DemoApp.controller('DemoController', function DemoController($scope) {
var now = new Date();
$scope.dateBox = {
dateFormat: {
type: "date",
value: now
},
timeFormat: {
type: "time",
value: now
},
dateTimeFormat: {
type: "datetime",
value: now
},
customFormat: {
displayFormat: "EEEE, MMM dd",
value: now
},
dateByPicker: {
pickerType: "rollers",
value: now
},
disabled: {
type: "datetime",
disabled: true,
value: now
},
disabledDates: {
type: "date",
pickerType: "calendar",
value: new Date(2017, 0, 3),
disabledDates: federalHolidays
},
clear: {
type: "time",
showClearButton: true,
value: new Date(2015, 11, 1, 6)
},
eventOptions: {
applyValueMode: "useButtons",
value: new Date(1981, 3, 27),
max: new Date(),
min: new Date(1900, 0, 1),
bindingOptions: {
value: "dateBox.eventOptions.value"
},
diffInDay: function() {
return Math.floor(Math.abs((new Date() - $scope.dateBox.eventOptions.value)/(24*60*60*1000))) + " days";
}
}
};
});
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>DevExtreme Demo</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script>
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.2.4/css/dx.common.css" />
<link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/20.2.4/css/dx.light.css" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.16/angular.min.js"></script>
<script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C/script%3E'))</script>
<script src="https://cdn3.devexpress.com/jslib/20.2.4/js/dx.all.js"></script>
<script src="data.js"></script>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="index.js"></script>
</head>
<body class="dx-viewport">
<div class="demo-container" ng-app="DemoApp" ng-controller="DemoController">
<div class="dx-fieldset">
<div class="dx-field">
<div class="dx-field-label">Date</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.dateFormat"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Time</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.timeFormat"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Date and time</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.dateTimeFormat"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Custom format</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.customFormat"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Date picker</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.dateByPicker"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Clear button</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.clear"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Disabled</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.disabled"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-label">Disable certain dates</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.disabledDates"></div>
</div>
</div>
</div>
<div class="dx-fieldset">
<div class="dx-fieldset-header">Event Handling</div>
<div class="dx-field">
<div class="dx-field-label">Set Birthday</div>
<div class="dx-field-value">
<div dx-date-box="dateBox.eventOptions"></div>
</div>
</div>
<div class="dx-field">
<div class="dx-field-value">
Your age is <div id="age">{{dateBox.eventOptions.diffInDay()}}</div>
</div>
</div>
</div>
</div>
</body>
</html>
#age {
display: inline-block;
}
var federalHolidays = [
new Date(2017, 0, 1),
new Date(2017, 0, 2),
new Date(2017, 0, 16),
new Date(2017, 1, 20),
new Date(2017, 4, 29),
new Date(2017, 6, 4),
new Date(2017, 8, 4),
new Date(2017, 9, 9),
new Date(2017, 10, 11),
new Date(2017, 10, 23),
new Date(2017, 11, 25)
];