pastebin

Paste Search Dynamic
Recent pastes
jQuery date
  1. jQuery( function ( $ ) {
  2.         'use strict';
  3.  
  4.         /**
  5.          * Update date picker element
  6.          * Used for static & dynamic added elements (when clone)
  7.          */
  8.         function update() {
  9.                 var $this = $( this ),
  10.                         options = $this.data( 'options' ),
  11.                         $inline = $this.siblings( '.rwmb-datetime-inline' ),
  12.                         $timestamp = $this.siblings( '.rwmb-datetime-timestamp' ),
  13.                         current = $this.val(),
  14.                         $picker = $inline.length ? $inline : $this;
  15.  
  16.                 $this.siblings( '.ui-datepicker-append' ).remove(); // Remove appended text
  17.                 if ( $timestamp.length ) {
  18.                         options.onClose = options.onSelect = function () {
  19.                                 $timestamp.val( getTimestamp( $picker.datepicker( 'getDate' ) ) );
  20.                         };
  21.                 }
  22.  
  23.                 if ( $inline.length ) {
  24.                         options.altField = '#' + $this.attr( 'id' );
  25.                         $this.on( 'keydown', _.debounce( function () {
  26.                                 $picker
  27.                                         .datepicker( 'setDate', $this.val() )
  28.                                         .find( ".ui-datepicker-current-day" )
  29.                                         .trigger( "click" );
  30.                         }, 600 ) );
  31.  
  32.                         $inline
  33.                                 .removeClass( 'hasDatepicker' )
  34.                                 .empty()
  35.                                 .prop( 'id', '' )
  36.                                 .datepicker( options )
  37.                                 .datepicker( 'setDate', current );
  38.                 }
  39.                 else {
  40.                         $this.removeClass( 'hasDatepicker' ).datepicker( options );
  41.                 }
  42.         }
  43.  
  44.         /**
  45.          * Convert date to Unix timestamp in milliseconds
  46.          * @link http://stackoverflow.com/a/14006555/556258
  47.          * @param date
  48.          * @return number
  49.          */
  50.         function getTimestamp( date ) {
  51.                 if ( date === null ) {
  52.                         return "";
  53.                 }
  54.                 var milliseconds = Date.UTC( date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds() );
  55.                 return Math.floor( milliseconds / 1000 );
  56.         }
  57.  
  58.         $( ':input.rwmb-date' ).each( update );
  59.         $( '.rwmb-input' ).on( 'clone', ':input.rwmb-date', update );
  60. } );
Parsed in 0.010 seconds