Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2015
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. angular.module('angularApp').
  2. directive('dt', function(){
  3. return {
  4. require: '?ngModel',
  5. restrict: 'A',
  6. link: function ($scope, element, attrs, controller) {
  7. var updateModel, onblur;
  8.  
  9. if (controller !== null) {
  10.  
  11. updateModel = function () {
  12. if (element.data("DateTimePicker").minViewMode === element.data("DateTimePicker").viewMode) {
  13. element.data("DateTimePicker").hide();
  14. element.blur();
  15. }
  16. };
  17.  
  18. onblur = function () {
  19. var date = element.datetimepicker().data("DateTimePicker").getDate();
  20. return $scope.$apply(function () {
  21. return controller.$setViewValue(date);
  22. });
  23. };
  24.  
  25. controller.$render = function () {
  26. var date = controller.$viewValue;
  27. if (angular.isDefined(date) && date != null && moment.isMoment(date)) {
  28. element.datetimepicker().data("DateTimePicker").setDate(date);
  29. } else if (angular.isDefined(date)) {
  30. throw new Error('ng-model value must be a Moment - currently it is a ' + typeof date + '.');
  31. }
  32. return controller.$viewValue;
  33. };
  34. }
  35. return attrs.$observe('dt', function (value) {
  36. var options;
  37. options = { }; //<--- insert your own defaults here!
  38. if (angular.isObject(value)) {
  39. options = value;
  40. }
  41. if (typeof (value) === "string" && value.length > 0) {
  42. options = angular.fromJson(value);
  43. }
  44. return element.datetimepicker(options).on('change.dp', updateModel).on('blur', onblur);
  45. });
  46. }
  47. };
  48. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement