jQuery(document).ready(function() { jQuery('.sp-date-picker').datepicker({ dateFormat : 'mm/dd/yy' }); }); (function ( $, window, document, undefined ) { 'use strict'; // adding alpha support for Automattic Color.js toString function. if( typeof Color.fn.toString !== undefined ) { Color.fn.toString = function () { // check for alpha if ( this._alpha < 1 ) { return this.toCSS('rgba', this._alpha).replace(/\s+/g, ''); } var hex = parseInt( this._color, 10 ).toString( 16 ); if ( this.error ) { return ''; } // maybe left pad it if ( hex.length < 6 ) { for (var i = 6 - hex.length - 1; i >= 0; i--) { hex = '0' + hex; } } return '#' + hex; }; } $.rgba_ParseColorValue = function( val ) { var value = val.replace(/\s+/g, ''), alpha = ( value.indexOf('rgba') !== -1 ) ? parseFloat( value.replace(/^.*,(.+)\)/, '$1') * 100 ) : 100, rgba = ( alpha < 100 ) ? true : false; return { value: value, alpha: alpha, rgba: rgba }; }; $.fn.rgba_wpColorPicker = function() { return this.each(function() { var $this = $(this); // check for rgba enabled/disable if( $this.data('rgba') !== false ) { // parse value var picker = $.rgba_ParseColorValue( $this.val() ); // wpColorPicker core $this.wpColorPicker({ // wpColorPicker: clear clear: function() { $this.trigger('keyup'); }, // wpColorPicker: change change: function( event, ui ) { var ui_color_value = ui.color.toString(); $this.closest('.wp-picker-container').find('.rgba-alpha-slider-offset').css('background-color', ui_color_value); $this.val(ui_color_value).trigger('change'); }, // wpColorPicker: create create: function() { // set variables for alpha slider var a8cIris = $this.data('a8cIris'), $container = $this.closest('.wp-picker-container'), // appending alpha wrapper $alpha_wrap = $('
' + '
' + '
' + '
' + '
').appendTo( $container.find('.wp-picker-holder') ), $alpha_slider = $alpha_wrap.find('.rgba-alpha-slider'), $alpha_text = $alpha_wrap.find('.rgba-alpha-text'), $alpha_offset = $alpha_wrap.find('.rgba-alpha-slider-offset'); // alpha slider $alpha_slider.slider({ // slider: slide slide: function( event, ui ) { var slide_value = parseFloat( ui.value / 100 ); // update iris data alpha && wpColorPicker color option && alpha text a8cIris._color._alpha = slide_value; $this.wpColorPicker( 'color', a8cIris._color.toString() ); $alpha_text.text( ( slide_value < 1 ? slide_value : '' ) ); }, // slider: create create: function() { var slide_value = parseFloat( picker.alpha / 100 ), alpha_text_value = slide_value < 1 ? slide_value : ''; // update alpha text && checkerboard background color $alpha_text.text(alpha_text_value); $alpha_offset.css('background-color', picker.value); // wpColorPicker clear for update iris data alpha && alpha text && slider color option $container.on('click', '.wp-picker-clear', function() { a8cIris._color._alpha = 1; $alpha_text.text(''); $alpha_slider.slider('option', 'value', 100).trigger('slide'); }); // wpColorPicker default button for update iris data alpha && alpha text && slider color option $container.on('click', '.wp-picker-default', function() { var default_picker = $.rgba_ParseColorValue( $this.data('default-color') ), default_value = parseFloat( default_picker.alpha / 100 ), default_text = default_value < 1 ? default_value : ''; a8cIris._color._alpha = default_value; $alpha_text.text(default_text); $alpha_slider.slider('option', 'value', default_picker.alpha).trigger('slide'); }); // show alpha wrapper on click color picker button $container.on('click', '.wp-color-result', function() { $alpha_wrap.toggle(); }); // hide alpha wrapper on click body $('body').on( 'click.wpcolorpicker', function() { $alpha_wrap.hide(); }); }, // slider: options value: picker.alpha, step: 1, min: 1, max: 100 }); } }); } else { // wpColorPicker default picker $this.wpColorPicker({ clear: function() { $this.trigger('keyup'); }, change: function( event, ui ) { $this.val(ui.color.toString()).trigger('change'); } }); } }); }; $(document).ready( function(){ $('.rgba-wp-color-picker').rgba_wpColorPicker(); }); })( jQuery, window, document );