( function ( $, rwmb, i18n ) { 'use strict'; /** * Transform an input into a time picker. */ function transform() { let $this = $( this ), options = $this.data( 'options' ), current = $this.val(); current = formatTime( current ); $this.siblings( '.ui-datepicker-append' ).remove(); // Remove appended text options.onSelect = function () { $this.trigger( 'change' ); }; options.beforeShow = function ( i ) { if ( $( i ).prop( 'readonly' ) ) { return false; } }; let $inline = $this.siblings( '.rwmb-datetime-inline' ); if ( !$inline.length ) { $inline = $this.closest( '.rwmb-input-group' ).siblings( '.rwmb-datetime-inline' ); } if ( !$inline.length ) { $this.removeClass( 'hasDatepicker' ).timepicker( options ).timepicker( 'setTime', current ); return; } options.altField = '#' + $this.attr( 'id' ); $inline .removeClass( 'hasDatepicker' ) .empty() .prop( 'id', '' ) .timepicker( options ) .timepicker( 'setTime', current ); } const formatTime = time => { if ( !time.includes( ':' ) ) { return time; } let [ hours, minutes ] = time.split( ':' ); hours = hours.padStart( 2, '0' ); minutes = minutes.padStart( 2, '0' ); return `${ hours }:${ minutes }`; }; // Set language if available function setTimeI18n() { if ( $.timepicker.regional.hasOwnProperty( i18n.locale ) ) { $.timepicker.setDefaults( $.timepicker.regional[ i18n.locale ] ); } else if ( $.timepicker.regional.hasOwnProperty( i18n.localeShort ) ) { $.timepicker.setDefaults( $.timepicker.regional[ i18n.localeShort ] ); } } function init( e ) { $( e.target ).find( '.rwmb-time' ).each( transform ); } setTimeI18n(); rwmb.$document .on( 'mb_ready', init ) .on( 'clone', '.rwmb-time', transform ); } )( jQuery, rwmb, RWMB_Time );
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
jqueryui | Folder | 0755 |
|
|
leaflet | Folder | 0755 |
|
|
select2 | Folder | 0755 |
|
|
validation | Folder | 0755 |
|
|
wp-color-picker-alpha | Folder | 0755 |
|
|
autocomplete.js | File | 1.62 KB | 0644 |
|
autosave.js | File | 595 B | 0644 |
|
button-group.js | File | 1018 B | 0644 |
|
clone.js | File | 9.04 KB | 0644 |
|
color.js | File | 1.33 KB | 0644 |
|
date.js | File | 2.47 KB | 0644 |
|
datetime.js | File | 2.87 KB | 0644 |
|
file-input.js | File | 1.87 KB | 0644 |
|
file-upload.js | File | 5.1 KB | 0644 |
|
file.js | File | 3.88 KB | 0644 |
|
icon.js | File | 769 B | 0644 |
|
image-advanced.js | File | 1015 B | 0644 |
|
image-upload.js | File | 1007 B | 0644 |
|
input-list.js | File | 1.07 KB | 0644 |
|
map-frontend.js | File | 2.01 KB | 0644 |
|
map.js | File | 8.6 KB | 0644 |
|
media.js | File | 15.45 KB | 0644 |
|
modal.js | File | 4.12 KB | 0644 |
|
oembed.js | File | 880 B | 0644 |
|
osm-frontend.js | File | 1.2 KB | 0644 |
|
osm.js | File | 7.79 KB | 0644 |
|
post.js | File | 1.23 KB | 0644 |
|
range.js | File | 475 B | 0644 |
|
script.js | File | 751 B | 0644 |
|
select-advanced.js | File | 3.67 KB | 0644 |
|
select-tree.js | File | 1.62 KB | 0644 |
|
select.js | File | 536 B | 0644 |
|
slider.js | File | 922 B | 0644 |
|
taxonomy.js | File | 1.21 KB | 0644 |
|
time.js | File | 1.78 KB | 0644 |
|
user.js | File | 1.43 KB | 0644 |
|
video.js | File | 1.12 KB | 0644 |
|
wysiwyg.js | File | 5.36 KB | 0644 |
|