(function( $ ) { 'use strict'; $(function() { var $timestamp = $('.save-timestamp'), $schedule; if( ! $timestamp.length ) return; $timestamp .addClass('button-primary') .css({'margin-left':'5px'}) .before(' ' +(window.affiget.params.msg['auto']||'Auto')+ '') .before(' ' +(window.affiget.params.msg['now']||'Now')+ '') .before( $('.cancel-timestamp') ); $('#afg-schedule-now').click(function(){ var originalDate, currentDate, attemptedDate; //$('#aa').after('   ').val( date.getFullYear() ); $('#aa').val( $('#cur_aa').val() ); $('#jj').val( $('#cur_jj').val() ); $('#hh').val( $('#cur_hh').val() ); $('#mn').val( $('#cur_mn').val() ); $('#mm').val( $('#cur_mm').val() ); originalDate = new Date( $('#hidden_aa').val(), $('#hidden_mm').val() -1, $('#hidden_jj').val(), $('#hidden_hh').val(), $('#hidden_mn').val() ); currentDate = new Date( $('#cur_aa').val(), $('#cur_mm').val() -1, $('#cur_jj').val(), $('#cur_hh').val(), $('#cur_mn').val() ); //console.log(originalDate); //console.log(currentDate); $timestamp.click(); return false; }); $('#afg-schedule-auto').click(function(){ var data = { action: 'afg_autoschedule', post_id: $('#post_ID').val(), gmt: false } $.ajax({ url: ajaxurl, data: data, type: 'POST', success: function(r) { var date = new Date(r); $('#aa').val(date.getFullYear()); $('#jj').val(date.getDate()); $('#hh').val(date.getHours()); $('#mn').val((date.getMinutes() < 10 ? '0' : '') + date.getMinutes()); $('#mm').val((date.getMonth() + 1 < 10 ? '0' : '') + (date.getMonth() + 1)); $('.save-timestamp').click(); }, error: function(r) { alert('Could not get date'); } } ); return false; }); // Edit page if ($('#afg_minTime, #afg_maxTime').length == 2) { $('#afg_minTime').blur(function() { $('#afg_minFormatted').html(afg_formatDate($(this).val())); }); $('#afg_maxTime').blur(function() { $('#afg_maxFormatted').html(afg_formatDate($(this).val())); }); $('#afg_minFormatted').html(afg_formatDate($('#afg_minTime').val())); $('#afg_maxFormatted').html(afg_formatDate($('#afg_maxTime').val())); } function afg_formatDate(str) { var ray = str.split(/:|\./); var ret = Array(); // Need to make sure the array is exactly 3 length if (ray.length > 3) ray = ray.slice(ray.length - 3); while (ray.length < 3) ray.unshift(0) // Convert 'em all to ints for (i=0; i 0) ret[ret.length] = ray[0] + ' day' + ((ray[0] > 1) ? 's': ''); if (ray[1] > 0) ret[ret.length] = ray[1] + ' hour' + ((ray[1] > 1) ? 's': ''); if (ray[2] > 0) ret[ret.length] = ray[2] + ' minute' + ((ray[2] > 1) ? 's': ''); return ret.join(', '); } }); $(function() { var $ctrl = $('#afg-display-formats-metabox ul'), $input, $dragger, $disabler; if( ! $ctrl.length ) return; $input = $ctrl.parent().find('input[name="afg_display_formats"]'); $disabler = $(''); $dragger = $(''); $ctrl.sortable({ 'axis': 'y', //'handle': '.dragger', 'items': 'li:not(.format)', 'placeholder': 'afg-placeholder', //'cancel': '.format', 'stop': function( ) { updateHiddenInput(); return true; }, 'helper': fixWidthHelper }).disableSelection(); $ctrl.on({ 'click.afg': onItemClick, 'mouseenter.afg': onItemMouseEnter }, 'li.element'); function fixWidthHelper(e, ui) { ui.children().each(function() { $(this).width( $(this).width() ); }); return ui; } /* fixWidthHelper */ function onItemMouseEnter( ev ){ var $item = $(ev.target), $format; //console.log('onItemMouseEnter', $item ); if( ! $item.is('li') ){ $item = $item.closest('li'); } $format = $item.siblings('.format'); if( $item.is('.disabled') ){ $disabler.attr('title', window.affiget.params.msg['disabledItemHint'].replace('%1$s',$item.text()).replace('%2$s',$format.text()) ).children().addClass('ui-icon-hide').removeClass('ui-icon-show'); } else { $disabler.attr('title', window.affiget.params.msg['enabledItemHint'].replace('%1$s',$item.text()).replace('%2$s',$format.text()) ).children().addClass('ui-icon-show').removeClass('ui-icon-hide'); } $item.prepend( $dragger ).prepend( $disabler ); return false; }/* onItemMouseEnter */ function onItemClick( ev ){ var $trg = $(ev.target), $item; $item = $trg.closest('li'); if( $trg.is('.disabler') ){ onDisablerClick( $item, $trg ); ev.stopPropagation(); return false; } else if( $trg.is('li') ){ showItemEditor( $item, $trg ); } } /* onItemClick */ function onDisablerClick( $item, $icon ){ //console.log('onDisablerClick', $icon, $item ); if( $icon.is('.ui-icon-show')){ $icon.removeClass('ui-icon-show').addClass('ui-icon-hide'); } else { $icon.removeClass('ui-icon-hide').addClass('ui-icon-show'); } $item.toggleClass('disabled'); updateHiddenInput(); } function showItemEditor( $item, $target ){ //console.log('showItemEditor', $item, $target); } function collectData(){ var data = {}; $ctrl.find('.format').each( function(idx, el){ var $el = $(el), fmt = $el.data('fmt'); $ctrl.find('li.'+fmt).each( function(idx2, item){ var $item = $(item); if( typeof data[ $item.data('elem') ] === 'undefined' ){ data[ $item.data('elem') ] = { 'label': $item.text(), 'title': $item.data('title'), 'description': $item.attr('title'), 'display': {} }; } data[ $item.data('elem') ]['display'][ fmt ] = [ $item.is('.disabled') ? 0 : 1, $item.data('mode'), idx2*10 ] }); }); //console.log(data); return data; } function updateHiddenInput(){ var data; //console.log('updateHiddenInput'); data = collectData(); $input.val( JSON.stringify( data ) ); //console.log($input.val()); } /* updateHiddenInput */ }); $(function(){ var $form = $('#amazon_settings_form'); if( ! $form.length ) return; $form.on('submit', function(e) { var $spin = $('.afg-spinner', $form); $spin.css('visibility', 'visible'); $.post( $form.attr('action'), $form.serialize(), function(response) { $('#access_key', $form).val( response.data['access_key'] ); $('#secret_key', $form).val( response.data['secret_key'] ); $('#associate_id', $form).val( response.data['associate_id'] ); $spin.css('visibility', 'hidden'); if( response.success ){ $('.afg-invalid-amazon', $form).hide(); $('.afg-valid-amazon', $form).fadeIn(); $('.afg-warning.amazon-settings').fadeOut(); } else { $('.afg-valid-amazon', $form).hide(); $('.afg-invalid-amazon', $form).fadeIn(); $('.afg-warning.amazon-settings').slideDown(); } }, 'json' // we are expecting a JSON response ); return false; //do not perform actual submit }); $('#access_key, #secret_key, #associate_id, #locale', $form).on('change', function(){ //console.log('changed', this); $('.afg-invalid-amazon, .afg-valid-amazon', $form).fadeOut(); //$('.afg-warning.amazon-settings').slideDown(); }); }); })( jQuery );