Advertisement
Avatarr

directive custom

Jun 4th, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. angular.module("demo", []).directive('myDatepicker', function ($parse) {
  2.    return {
  3.       restrict: "E",
  4.       replace: true,
  5.       transclude: false,
  6.       compile: function (element, attrs) {
  7.          var modelAccessor = $parse(attrs.ngModel);
  8.  
  9.          var html = "<input type='text' id='" + attrs.id + "' >" +
  10.             "</input>";
  11.  
  12.          var newElem = $(html);
  13.          element.replaceWith(newElem);
  14.  
  15.          return function (scope, element, attrs, controller) {
  16.  
  17.             var processChange = function () {
  18.                var date = new Date(element.datepicker("getDate"));
  19.  
  20.                scope.$apply(function (scope) {
  21.                   // Change bound variable
  22.                   modelAccessor.assign(scope, date);
  23.                });
  24.             };
  25.  
  26.             element.datepicker({
  27.                inline: true,
  28.                onClose: processChange,
  29.                onSelect: processChange
  30.             });
  31.  
  32.             scope.$watch(modelAccessor, function (val) {
  33.                var date = new Date(val);
  34.                element.datepicker("setDate", date);
  35.             });
  36.  
  37.          };
  38.  
  39.       }
  40.    };
  41. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement