<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div ng-app="DatePickerWrapper" ng-controller="DateWrapperController">
<p>{{dateValue}}</p>
<popup-date-picker id="thisThing" value="dateValue"></popup-date-picker>
<br />
<button ng-click="recalculateUtc()">Calculate UTC</button>
</div>
<script data-require="jquery@*" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script data-require="angular.js@*" data-semver="1.3.7" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular.js"></script>
<script data-require="angular-ui-bootstrap@*" data-semver="0.12.0" src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.min.js"></script>
<script data-require="moment.js@*" data-semver="2.8.3" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>
<script data-require="moment-timezone-with-data@*" data-semver="0.2.5" src="http://momentjs.com/downloads/moment-timezone-with-data.min.js"></script>
<script src="script.js"></script>
</body>
</html>
// Code goes here
var currentApp = angular.module('DatePickerWrapper', ['ui.bootstrap']);
currentApp.controller('DateWrapperController', ['$scope', function($scope) {
var userProfile = {
offset: -600,
name: 'Australia/Brisbane'
};
var calculateProfileWithMoment = function () {
var utcNow = new Date().toISOString();
var momentNow = moment(utcNow);
var profileNow = momentNow.tz(userProfile.name);
console.log('Profile Now: ' + profileNow);
return profileNow.format();
}
$scope.dateValue = calculateProfileWithMoment();
$scope.recalculateUtc = function () {
alert(new Date($scope.dateValue).toISOString());
}
$scope.minDate = new Date(2014, 10, 15).toISOString();
$scope.maxDate = new Date(2015, 2, 20).toISOString();
}]);
currentApp.directive('popupDatePicker', [function () {
var buildTemplate = function () {
return '<div class="input-group date-only-sm country-filter no-active-disabled"><input id="{{id}}" readonly="readonly" datepicker-popup="dd/MM/yyyy" date-format="dd/MM/yyyy" date-type="date" ng-click="open($event)" type="text" class="form-control clickable" ng-model="value" is-open="opened" show-button-bar="false" datepicker-options="datePickerOptions" /><div class="input-group-addon clickable" ng-click="open($event)"><span class="glyphicon glyphicon-calendar"></span></div></div>';
};
return {
scope: {
id: '@',
value: '='
},
controller: 'PopupDatePickerController',
template: buildTemplate(),
replace: false
};
}]);
currentApp.controller('PopupDatePickerController', ['$scope', function ($scope) {
$scope.opened = false;
$scope.open = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.datePickerOptions = {
startingDay: 1,
showWeeks: false,
maxMode: 'day'
};
}]);
/* Styles go here */