nl_tokens: / * global moment
pl_tokens: function DateTimePicker ( $mdUtil , $mdMedia , $document , picker ) { return { restrict : 'E' , <mask> : [ '^ngModel' , 'smDateTimePicker' ] , scope : { weekStartDay : '@' , startView : '@' , mode : '@' , format : '@' , minDate : '@' , maxDate : '@' , fname : '@' , label : '@' , isRequired : '@' , disable : '=' , noFloatingLabel : '=' , disableYearSelection : '@' , closeOnSelect : '@' , onDateSelectedCall : '&' } , controller : [ '$scope' , '$element' , '$mdUtil' , '$mdMedia' , '$document' , '$parse' , SMDateTimePickerCtrl ] , controllerAs : 'vm' , bindToController : true , template : function ( element , attributes ) { var inputType = '' ; if ( attributes . hasOwnProperty ( 'onFocus' ) ) { inputType = '<input name="{{vm.fname}}" ng-model="vm.value" ' + 'type="text" placeholder="{{vm.label}}"' + ' aria-label="{{vm.fname}}" ng-focus="vm.show()" data-ng-required="vm.isRequired"  ng-disabled="vm.disable"' + ' server-error class="sm-input-container" />' ; } else { inputType = '<input class="" name="{{vm.fname}}" ng-model="vm.value" ' + '             type="text" placeholder="{{vm.label}}" ' + '             aria-label="{{vm.fname}}" aria-hidden="true" data-ng-required="vm.isRequired" ng-disabled="vm.disable"/>' + '     <md-button tabindex="-1" class="sm-picker-icon md-icon-button" aria-label="showCalender" ng-disabled="vm.disable" aria-hidden="true" type="button" ng-click="vm.show()">' + '         <svg  fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>' + '     </md-button>' ; } return '<md-input-container class="sm-input-container md-icon-float md-block" md-no-float="vm.noFloatingLabel">' + inputType + '     <div id="picker" class="sm-calender-pane md-whiteframe-z2">' + '          <sm-date-picker ' + '              id="{{vm.fname}}Picker" ' + '              initial-date="vm.initialDate"' + '              ng-model="vm.value"' + '              mode="{{vm.mode || \'date\'}}" ' + '              disable-year-selection={{vm.disableYearSelection}}' + '              close-on-select="{{vm.closeOnSelect}}"' + '              start-view="{{vm.startView}}" ' + '              data-min-date="vm.minDate" ' + '              data-max-date="vm.maxDate"  ' + '              data-format="{{vm.format}}"  ' + '              data-on-select-call="vm.onDateSelected(date)"' + '              data-week-start-day="{{vm.weekStartDay}}" > ' + '         </sm-date-picker>' + '     </div>' + '     <div></div>' ' </md-input-container>' ; } , link : function ( scope , $element , attr , ctrl ) { var ngModelCtrl = ctrl [ 0 ] ; var pickerCtrl = ctrl [ 1 ] ; pickerCtrl . configureNgModel ( ngModelCtrl ) ; } } }