function woe_create_selected_fields( old_output_format, format, format_changed ) { var $old_format_order_fields = jQuery( "#order_fields" ).clone(); woe_create_unselected_fields( old_output_format, format, format_changed, $old_format_order_fields ); //jQuery( '#export_job_settings' ).prepend( jQuery( "#fields_control_products" ) ); //jQuery( '#export_job_settings' ).prepend( jQuery( "#fields_control_coupons" ) ); jQuery( "#fields .fields-control-block" ).addClass( 'hidden' ); jQuery( "#order_fields" ).addClass( 'non_flat_height' ); jQuery('.summary-row-title').addClass('hide'); /* Clone elements for using in create_modal_fields ($old_format_order_fields) and before insert fields in 'order_fields' element ($old_format_modal_content) for able to migrate checkbox values from pop up to 'order_fields' element and vice versa */ var html = ''; var fields_control_block_elements = []; if ( woe_is_flat_format( format ) ) { fields_control_block_elements.push( woe_make_repeat_options( 'products' ) ); fields_control_block_elements.push( woe_make_repeat_options( 'coupons' ) ); } jQuery.each( window['selected_order_fields'], function ( i, value ) { var index = value.key; var colname = value.colname; colname = woe_escape_str( colname ); value.label = woe_escape_str( value.label ); index = woe_escape_str( index ); value.value = woe_escape_str( value.value ); if ( format_changed ) { if ( woe_is_flat_format( format ) ) { colname = value.label; } else if ( woe_is_xml_format( format ) ) { colname = woe_to_xml_tags( index ); } else { colname = index; } } if ( index == 'products' || index == 'coupons' ) { var row = ''; jQuery( "#fields_control .segment_" + index ).remove(); if ( ! woe_is_flat_format( format ) ) { // TODO fix segment names for product and coupon fields row = ''; } else { row = '
'; row += ''; row += ''; row += ''; row += ''; row += '
'; } } else { if ( ! woe_is_flat_format( format ) && ( value.segment === "products" || value.segment === "coupons" ) ) { return true; } var value_part = '' var label_part = ''; var delete_btn = '
'; var label_prefix = ''; var index_api = index; if (['money', 'number'].indexOf(value.format) > -1 && ['XLS', 'PDF'].indexOf(format) > -1) { var sum_btn = '
' + '' + '
'; // jQuery('.summary-row-title').removeClass('hide'); } else { var sum_btn = ''; } if ( index.indexOf( 'static_field' ) >= 0 ) { value_part = '
'; } field_type = '';// // label prefix for products and coupons if ( woe_is_flat_format( format ) ) { if ( value.segment === 'products' ) { field_type = 'product'; label_prefix = '[P] '; index_api = index_api.replace( "plain_products_", "" ); } else if ( value.segment === 'coupons' ) { field_type = 'coupon'; label_prefix = '[C] '; index_api = index_api.replace( "plain_coupons_", "" ); } else { field_type = 'order'; index_api = index_api.replace( "plain_orders_", "" ); } } var row = '
  • \
    \ \ \ \ \
    \
    ' + '' + label_prefix + '' + value.label + label_part + '
    \
    ' + value_part + sum_btn + delete_btn + '\
  • \ '; } html += row; } ); jQuery( "#order_fields" ).html( html ); if(jQuery('#summary_report_by_products_checkbox').is(":checked") || !jQuery('#display_summary_row_checkbox').is(":checked")){ jQuery('#order_fields').find('.mapping_col_3.mapping_row-sum_field_block').hide(); } if (['XLS', 'PDF'].indexOf(output_format) > -1) jQuery('.summary-row-title').removeClass('hide'); else jQuery('.summary-row-title').addClass('hide'); if (!jQuery('#display_summary_row_checkbox').is(":checked")) { jQuery('#title_for_summary_row_block').hide(); } if ( ! jQuery( "#fields .fields-control-block" ).html() ) { fields_control_block_elements.forEach( function ( currentValue ) { jQuery( "#fields .fields-control-block" ).append( currentValue ); } ); } if ( fields_control_block_elements.length > 0 ) { jQuery( "#fields .fields-control-block" ).removeClass( 'hidden' ); jQuery( "#order_fields" ).removeClass( 'non_flat_height' ); } woe_add_bind_for_custom_fields( 'products', output_format, jQuery( "#order_fields" ) ); woe_add_bind_for_custom_fields( 'product_items', output_format, jQuery( "#order_fields" ) ); woe_add_bind_for_custom_fields( 'coupons', output_format, jQuery( "#order_fields" ) ); jQuery( "#sortable_products" ).sortable({stop: function ( event, ui ) { woe_add_setup_fields_to_sort(); }}); jQuery( "#sortable_coupons" ).sortable({stop: function ( event, ui ) { woe_add_setup_fields_to_sort(); }}); woe_check_sortable_groups(); woe_moving_products_and_coupons_group_blocks_to_first_item( output_format ); } function woe_create_group_fields( format, index_p, format_changed ) { var html = ''; jQuery.each( window['selected_order_' + index_p + '_fields'], function ( i, value ) { var index = value.key; var colname = value.colname; colname = woe_escape_str( colname ); value.label = woe_escape_str( value.label ); index = woe_escape_str( index ); value.value = woe_escape_str( value.value ); if ( format_changed ) { if ( woe_is_flat_format( format ) ) { colname = value.label; } else { colname = index.replace( 'plain_' + index_p + '_', '' ); if ( woe_is_xml_format( format ) ) { colname = woe_to_xml_tags( colname ); } } } var value_part = ''; var label_part = ''; var delete_btn = '
    '; if (['money', 'number'].indexOf(value.format) > -1) { var sum_btn = '
    '; } else { var sum_btn = ''; } if ( index.indexOf( 'static_field' ) >= 0 ) { value_part = '
    '; } var row = '
  • \
    \ \ \ \ \
    \
    ' + value.label + label_part + '
    \
    ' + value_part + sum_btn + delete_btn + '\
  • \ '; html += row; } ); return html; } function woe_moving_products_and_coupons_group_blocks_to_first_item( format ) { if ( woe_is_flat_format( format ) ) { var first_products_field = jQuery( '#order_fields [value*="plain_products_"]' ).first().closest( 'li' ); var first_coupons_field = jQuery( '#order_fields [value*="plain_coupons_"]' ).first().closest( 'li' ); if ( first_products_field.length ) { var products_group_block = jQuery( '#order_fields .flat-products-group' ).clone(); jQuery( '#order_fields .flat-products-group' ).remove(); first_products_field.before( products_group_block ); } if ( first_coupons_field.length ) { var coupons_group_block = jQuery( '#order_fields .flat-coupons-group' ).clone(); jQuery( '#order_fields .flat-coupons-group' ).remove(); first_coupons_field.before( coupons_group_block ); } return; } var first_products_field = jQuery( '#order_fields [name="products[][key]"]' ).first().closest( 'li' ); if ( ! jQuery( '#sortable_products > li' ).length && first_products_field.length ) { var products_group_block = jQuery( '#order_fields .flat-products-group' ).clone(); jQuery( '#order_fields .flat-products-group' ).remove(); first_products_field.before( products_group_block ); } var first_coupons_field = jQuery( '#order_fields [name="coupons[][key]"]' ).first().closest( 'li' ); if ( ! jQuery( '#sortable_coupons > li' ).length && first_coupons_field.length ) { var coupons_group_block = jQuery( '#order_fields .flat-coupons-group' ).clone(); jQuery( '#order_fields .flat-coupons-group' ).remove(); first_coupons_field.before( coupons_group_block ); } } function woe_synch_selected_fields( old_format, new_format ) { var settings = jQuery( '#export_job_settings' ).serializeJSON(); if ( woe_is_flat_format( old_format ) && woe_is_flat_format( new_format ) ) { window['selected_order_fields'] = settings.orders || []; window['selected_order_products_fields'] = []; window['selected_order_coupons_fields'] = []; return; } if ( ! woe_is_flat_format( old_format ) && ! woe_is_flat_format( new_format ) ) { window['selected_order_fields'] = settings.orders || []; window['selected_order_products_fields'] = settings.products || []; window['selected_order_coupons_fields'] = settings.coupons || []; return; } if ( woe_is_flat_format( old_format ) && ! woe_is_flat_format( new_format ) ) { var products = []; var coupons = []; var orders = []; ( settings.orders || [] ).forEach( function ( item ) { if ( item.key.indexOf( 'plain_products' ) > - 1 ) { item.key = item.key.replace( 'plain_products_', '' ); products.push( item ); return true; } if ( item.key.indexOf( 'plain_coupons' ) > - 1 ) { item.key = item.key.replace( 'plain_coupons_', '' ); coupons.push( item ); return true; } orders.push( item ); } ); window['selected_order_fields'] = orders; window['selected_order_products_fields'] = products; window['selected_order_coupons_fields'] = coupons; return; } if ( ! woe_is_flat_format( old_format ) && woe_is_flat_format( new_format ) ) { var products = []; var coupons = []; var orders = []; ( settings.products || [] ).forEach( function ( item ) { item.key = 'plain_products_' + item.key; products.push( item ); } ); ( settings.coupons || [] ).forEach( function ( item ) { item.key = 'plain_coupons_' + item.key; coupons.push( item ); } ); ( settings.orders || [] ).forEach( function ( item ) { orders.push( item ); if ( item.key === 'products' ) { orders = orders.concat( products ); } if ( item.key === 'coupons' ) { orders = orders.concat( coupons ); } } ); window['selected_order_fields'] = orders; window['selected_order_products_fields'] = []; window['selected_order_coupons_fields'] = []; return; } } function woe_create_unselected_fields( old_output_format, format, format_changed, old_format_order_fields ) { var $unselected_fields_list = jQuery( '#unselected_fields_list' ); var $unselected_segment_id = '%s_unselected_segment'; var active_segment_id = $unselected_fields_list.find( '.section.active' ).attr( 'id' ); $unselected_fields_list.html( "" ); $unselected_fields_list.append( woe_make_segments( $unselected_segment_id ) ); if ( active_segment_id ) { jQuery( '#unselected_fields_list #' + active_segment_id ).addClass( 'active' ); } jQuery.each( window['all_fields'], function ( segment, fields ) { fields.forEach( function ( value ) { var $unselected_field_segment = jQuery( '#' + woe_sprintf( $unselected_segment_id, segment ) ); var index = value.key; $unselected_field_segment.append( woe_make_unselected_field( index, value, format, format_changed, segment ) ); woe_activate_draggable_field( $unselected_field_segment.find( '.segment_field' ), segment, format ); } ) } ); } function woe_make_segments( $segment_id ) { var $segments_list = jQuery( '' ); jQuery.each( window['order_segments'], function ( index, label ) { var $segment = jQuery( '
    ' ) $segments_list.append( $segment ); } ); return $segments_list; } function woe_sprintf( format ) { for ( var i = 1; i < arguments.length; i ++ ) { format = format.replace( /%s/, arguments[i] ); } return format; } function woe_make_unselected_field( $index, $field_data, $format, $format_changed, $segment ) { if ( $segment === 'product_items' ) { $segment = 'products'; } var label_part = ''; var label_prefix = ''; var value_part = ''; var $mapping_col_1 = jQuery( '
    ' ); var $mapping_col_2 = jQuery( '
    ' ); var $mapping_col_3 = jQuery( '
    ' ); var colname = woe_escape_str( $field_data.colname ); var _index = $index; if ( woe_is_flat_format( $format ) && ['products', 'coupons'].indexOf( $segment ) > - 1 ) { _index = 'plain_' + $segment + '_' + $index; } if ( $format_changed ) { if ( woe_is_flat_format( $format ) ) { colname = $field_data.label; } else { colname = $index; if ( woe_is_xml_format( $format ) ) { colname = woe_to_xml_tags( colname ); } } } if ( ! woe_is_flat_format( $format ) && ['products', 'coupons'].indexOf( $segment ) > - 1 ) { $mapping_col_1 .append( woe_make_input( 'hidden', null, $segment + '[][label]', $field_data.label, false ) ) .append( woe_make_input( 'hidden', null, $segment + '[][format]', $field_data.format, false ) ) .append( woe_make_input( 'hidden', null, $segment + '[][segment]', $segment, false ) ) .append( woe_make_input( 'hidden', null, $segment + '[][key]', $index, false ) ); $mapping_col_3.append( woe_make_input( 'input', 'mapping_fieldname', $segment + '[][colname]', colname ) ); if ( $index.indexOf( 'static_field' ) >= 0 ) { value_part = '
    '; } } else { if ( $segment === 'products' ) { label_prefix = '[P] ' } if ( $segment === 'coupons' ) { label_prefix = '[C] ' } $mapping_col_1 .append( woe_make_input( 'hidden', null, 'orders[][segment]', $segment, false ) ) .append( woe_make_input( 'hidden', null, 'orders[][key]', _index, false ) ) .append( woe_make_input( 'hidden', null, 'orders[][label]', $field_data.label, false ) ) .append( woe_make_input( 'hidden', null, 'orders[][format]', $field_data.format, false ) ); $mapping_col_3.append( woe_make_input( 'input', 'mapping_fieldname', 'orders[][colname]', colname ) ); if ( $index.indexOf( 'static_field' ) >= 0 ) { value_part = '
    '; } } var delete_btn = '
    '; if (['money', 'number'].indexOf($field_data.format) > -1) { var sum_btn = '
    '; } else { var sum_btn = ''; } $mapping_col_2.append( '' + label_prefix + '' + $field_data.label + label_part ); if ( ($index.charAt( 0 ) === '_' || $index.substr( 0, 3 ) === 'pa_' || ! $field_data.default || $index.indexOf( 'static_field' ) > - 1 ) && $index!="_global_unique_id") { $mapping_col_2.append( '' ); } var $field = jQuery( '
  • ' ); $field .append( $mapping_col_1 ) .append( $mapping_col_2 ) .append( $mapping_col_3 ) .append( value_part ) .append( sum_btn ) .append( delete_btn ); $field.find( 'input' ).prop( 'disabled', 'disabled' ); if($index.match(/summary_report_.+/)) if((!jQuery('#summary_report_by_products_checkbox').is(":checked") && $segment == 'products') || (!jQuery('#summary_report_by_customers_checkbox').is(":checked") && $segment == 'user')) $field.hide(); return $field; } function woe_activate_draggable_field( el, segment, format ) { if ( segment === 'product_items' ) { segment = 'products'; } var no_flat_sortable_selector = '#manage_fields #order_fields #sortable_' + segment; var flat_sortable_selector = '#manage_fields #order_fields'; var sortable_products_selector = ''; if(!woe_is_flat_format()) sortable_products_selector = '#sortable_products'; el.draggable( { connectToSortable: [no_flat_sortable_selector, flat_sortable_selector, sortable_products_selector].join( ',' ), helper: "clone", revert: "invalid", start: function ( event, ui ) { jQuery( ui.helper[0] ).removeClass( 'blink' ); jQuery('#notice_drag_fields').hide().removeClass( 'blink' ); }, stop: function ( event, ui ) { el.removeClass( 'blink' ); var moved_to_sortable = jQuery( ui.helper[0] ).closest( flat_sortable_selector ).length; var move_to_sortable_group = jQuery( ui.helper[0] ).closest( no_flat_sortable_selector ).length; if ( ! moved_to_sortable ) { return; } woe_moving_products_and_coupons_group_blocks_to_first_item( format ); // change static field key index to prevent fields with identical keys var tmp_prefix = ''; if ( woe_is_flat_format( format ) && ['products', 'coupons'].indexOf( segment ) > - 1 ) { tmp_prefix = 'plain_' + segment + '_'; } if ( jQuery( ui.helper[0] ).find( 'input[value*="' + tmp_prefix + 'static_field"]' ).length > 0 ) { var suffix = 0; jQuery( '#order_fields input[value*="' + tmp_prefix + 'static_field_"]' ).each( function () { var match = jQuery( this ).attr( 'value' ).match( /.*static_field_(\d+)/ ); if ( ! match ) { return true; } var n = parseInt( match[1] ); if ( n > suffix ) { suffix = n; } } ); var field_key = tmp_prefix + 'static_field_' + (suffix + 1); if ( ! woe_is_flat_format( format ) && ['products', 'coupons'].indexOf( segment ) > - 1 ) { jQuery( ui.helper[0] ).find( 'input[name="' + segment + '[][key]"]' ).first().val( field_key ); } else { jQuery( ui.helper[0] ).find( 'input[name="orders[][key]"]' ).first().val( field_key ); } } // end change static field key var moving_copy_original_el = jQuery( ui.helper[0] ); moving_copy_original_el .attr( 'style', '' ) .addClass( 'ui-draggabled' ) .removeClass( 'segment_field' ) .find( 'input' ).prop( 'disabled', false ); if (!woe_is_flat_format(format) && ['products', 'coupons'].indexOf(segment) === - 1 && moving_copy_original_el.closest('#sortable_products').length) { var field_key = moving_copy_original_el.find('input[name="orders[][key]"]').val(); moving_copy_original_el.find('input[name="orders[][key]"]').val('orders__' + field_key); } woe_add_setup_fields_to_sort(); if ( woe_is_flat_format( format ) || move_to_sortable_group || [ 'products', 'coupons' ].indexOf( segment ) === - 1 ) { return; } jQuery( no_flat_sortable_selector ).append( moving_copy_original_el.clone() ); moving_copy_original_el.remove(); woe_check_sortable_groups(); }, } ); } function woe_check_sortable_groups() { jQuery( '#sortable_products' ).closest( '.mapping_row' ).toggle( ! ! jQuery( '#sortable_products li' ).length ); jQuery( '#sortable_coupons' ).closest( '.mapping_row' ).toggle( ! ! jQuery( '#sortable_coupons li' ).length ); } //for XML labels function woe_to_xml_tags( str ) { var arr = str.split( /_/ ); for ( var i = 0, l = arr.length; i < l; i ++ ) { arr[i] = arr[i].substr( 0, 1 ).toUpperCase() + ( arr[i].length > 1 ? arr[i].substr( 1 ).toLowerCase() : "" ); } return arr.join( "_" ); } function woe_make_repeat_options( index ) { var repeat_select = jQuery( '' ); var repeat_options_html = {}; jQuery.each( localize_settings_form.repeats, function ( key, currentValue ) { repeat_select.append( '' ); repeat_options_html[key] = []; } ); var duplicate_settings = window.duplicated_fields_settings[index] || {}; var repeat_value = ( typeof( duplicate_settings.repeat ) !== 'undefined' ) ? duplicate_settings.repeat : "rows"; repeat_select.val( repeat_value ); // rows options if ( index === 'products' ) { var populate_check_on = duplicate_settings.populate_other_columns === '1' ? 'checked' : ''; var populate_check_off = duplicate_settings.populate_other_columns === '1' ? '' : 'checked'; var populate_check_html = '
    ' + '' + '' + '' + '
    '; repeat_options_html['rows'].push( populate_check_html ); } // columns options var max_cols = ( typeof( duplicate_settings.max_cols ) !== 'undefined' ) ? duplicate_settings.max_cols : "10"; var max_cols_html = '
    ' + '' + ' ' + '' + '
    '; var grouping_by_product_check = duplicate_settings.group_by === 'product' ? 'checked' : ''; var group_by_item_check_html = '
    ' + '' + '' + '' + '
    '; repeat_options_html['columns'].push( max_cols_html ); repeat_options_html['columns'].push( group_by_item_check_html ); // inside one cell options var line_delimiter = ( typeof( duplicate_settings.line_delimiter ) !== 'undefined' ) ? duplicate_settings.line_delimiter : '\\n'; var line_delimiter_html = '
    ' + '' + '
    '; repeat_options_html['inside_one_cell'].push( line_delimiter_html ); var popup_options = jQuery( '
    ' ); popup_options.append( jQuery( '
    ' + '' + '
    ' ).append( repeat_select ) ); jQuery.each( repeat_options_html, function ( key, currentValue ) { popup_options.append( jQuery( '
    ' ).append( currentValue ) ); } ); popup_options.append( "
    " ); repeat_select.off( 'change' ).on( 'change', function () { jQuery( this ).parent().siblings( '.display_as' ).removeClass( 'active' ); jQuery( this ).parent().siblings( '.duplicate_' + this.value + '_options' ).addClass( 'active' ); } ).trigger( 'change' ); return popup_options; } function woe_remove_custom_field( item ) { jQuery( item ).parent().parent().remove(); return false; } function woe_make_input( $type, $classes, $name, $field_data, $is_checked ) { var $input = jQuery( '' ); $input.prop( 'type', $type ); if ( $classes && jQuery.isArray( $classes ) ) { $input.addClass( $classes.join( ' ' ) ); } $input.prop( 'name', $name ); $input.attr( 'value', $field_data ); if ( $is_checked ) { $input.prop( 'checked', 'checked' ); } return $input; } function woe_is_xml_format( format ) { return ( settings_form.xml_formats.indexOf( format ) > - 1 ); } function woe_add_bind_for_custom_fields( prefix, output_format, $to ) { jQuery( '#button_custom_field_' + prefix + '' ).off(); jQuery( '#button_custom_field_' + prefix + '' ).click( function () { var colname = jQuery( '#colname_custom_field_' + prefix + '' ).val(); var value = jQuery( '#value_custom_field_' + prefix + '' ).val(); var format_field = jQuery( '#format_custom_field_' + prefix + '' ).val(); if ( ! colname ) { alert( export_messages.empty_column_name ); jQuery( '#colname_custom_field_' + prefix + '' ).focus(); return false } if ( ! value && 'products' !== prefix ) { alert( export_messages.empty_value ); jQuery( '#value_custom_field_' + prefix + '' ).focus(); return false } jQuery( '#colname_custom_field_' + prefix + '' ).val( "" ); jQuery( '#value_custom_field_' + prefix + '' ).val( "" ); jQuery( '#format_custom_field_' + prefix + '' ).val( "" ); var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); woe_add_custom_field( jQuery( "#" + segment + '_unselected_segment' ), prefix, output_format, colname, value, segment, format_field ); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); jQuery( '#button_custom_meta_' + prefix + '' ).off(); jQuery( '#button_custom_meta_' + prefix + '' ).click( function () { var prefix_items = 'order_items', original_prefix = prefix, prefix_items_select = jQuery( '#select_custom_meta_' + prefix_items + '' ), prefix_product_select = jQuery( '#select_custom_meta_' + prefix + '' ), prefix_product_text = jQuery( '#text_custom_meta_' + prefix + '' ), prefix_items_text = jQuery( '#text_custom_meta_' + prefix_items + '' ); var type = ( prefix_items_select.val() || prefix_product_select.val() || prefix_product_text.val() || prefix_items_text.val() ) ? 'meta' : 'taxonomies'; if ( 'meta' === type ) { original_prefix = prefix_product_select.val() || prefix_product_text.val() ? prefix : prefix_items; } else { original_prefix = prefix; } type = type + '_' + original_prefix; var label = jQuery( '#select_custom_' + type + '' ).val(); var colname = jQuery( '#colname_custom_meta_' + prefix + '' ).val(); var field_format = jQuery( '#format_custom_meta_' + prefix + '' ).val(); if ( ! label ) //try custom text { label = jQuery( '#text_custom_' + type ).val(); } if ( ! label ) { if(prefix == 'products') { alert( export_messages.empty_meta_key_and_taxonomy ); } else if(prefix == 'product_items') { alert( export_messages.empty_item_field ); } else { alert( export_messages.empty_meta_key ); } return false } if ( colname == undefined || colname == '' ) { colname = label; } if ( ! colname ) { alert( export_messages.empty_column_name ); return false } var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); woe_add_custom_meta( jQuery( "#" + segment + '_unselected_segment' ), prefix, output_format, label, colname, segment, field_format ); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); jQuery( '#select_custom_' + type + '' ).val( "" ); jQuery( '#colname_custom_meta_' + prefix + '' ).val( "" ); jQuery( '#format_custom_meta_' + prefix + '' ).val( "" ); return false; } ); jQuery( '#button_custom_calculated_' + prefix + '' ).off(); jQuery( '#button_custom_calculated_' + prefix + '' ).click( function () { var metakey = jQuery( '#metakey_custom_calculated_' + prefix + '' ).val(); var label = jQuery( '#label_custom_calculated_' + prefix + '' ).val(); var format_field = jQuery( '#format_custom_calculated_' + prefix + '' ).val(); if ( ! metakey ) { alert( export_messages.empty_column_name ); jQuery( '#metakey_custom_calculated_' + prefix + '' ).focus(); return false } if ( ! label && 'products' !== prefix ) { alert( export_messages.empty_value ); jQuery( '#label_custom_calculated_' + prefix + '' ).focus(); return false } jQuery( '#metakey_custom_calculated_' + prefix + '' ).val( "" ); jQuery( '#label_custom_calculated_' + prefix + '' ).val( "" ); jQuery( '#format_custom_calculated_' + prefix + '' ).val( "" ); var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); woe_add_custom_meta( jQuery( "#" + segment + '_unselected_segment' ), prefix, output_format, metakey, label, segment, format_field ); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); } function woe_add_custom_field( to, index_p, format, colname, value, segment, format_field ) { if ( segment === 'product_items' ) { segment = 'products'; } if ( index_p === 'product_items' ) { index_p = 'products'; } value = woe_escape_str( value ); colname = woe_escape_str( colname ); if ( woe_is_flat_format( format ) ) { _index = 'plain_' + index_p + '_'; _index_p = 'orders[]'; } else { _index = ''; _index_p = index_p + '[]'; } var label_prefix = ''; if ( woe_is_flat_format( format ) ) { if ( segment === 'products' ) { label_prefix = '[P] ' } if ( segment === 'coupons' ) { label_prefix = '[C] ' } } var suffix = 0; jQuery( '#unselected_fields input[value*="static_field_"]' ).each( function () { var match = jQuery( this ).attr( 'value' ).match( /static_field_(\d+)/ ); if ( ! match ) { return true; } var n = parseInt( match[1] ); if ( n > suffix ) { suffix = n; } } ); var field_key = 'static_field_' + ( suffix + 1 ); var delete_btn = '
    '; if (['money', 'number'].indexOf(format_field) > -1) { var sum_btn = '
    '; } else { var sum_btn = ''; } // console.log( to, index_p, format, colname, value ); var row = jQuery( '
  • \
    \ \ \ \ \
    \
    ' + '' + label_prefix + '' + colname + '
    \
    \
    ' + sum_btn + delete_btn + '\
  • \ ' ); row.find( 'input' ).prop( 'disabled', 'disabled' ); to.prepend( row ); woe_activate_draggable_field( to.find( '.segment_field' ).first(), segment, format ); to.find( '.segment_field' ).first().addClass( 'blink' ); jQuery('#notice_drag_fields').show().addClass( 'blink' ); var field = { key: field_key, colname: colname, 'default': 0, label: colname, format: 'string', value: value, }; window.all_fields[segment].unshift( field ); } function woe_add_custom_meta( to, index_p, format, label, colname, segment, format_field ) { if ( segment === 'product_items' ) { segment = 'products'; } if ( index_p === 'product_items' ) { index_p = 'products'; } label = woe_escape_str( label ); colname = woe_escape_str( colname ); if ( woe_is_flat_format( format ) ) { _index = 'plain_' + index_p + '_' + label; _index_p = 'orders[]'; } else { _index = label; _index_p = index_p + '[]'; } var label_prefix = ''; if ( woe_is_flat_format( format ) ) { if ( segment === 'products' ) { label_prefix = '[P] ' } if ( segment === 'coupons' ) { label_prefix = '[C] ' } } var delete_btn = '
    '; if (['money', 'number'].indexOf(format_field) > -1) { var sum_btn = '
    '; } else { var sum_btn = ''; } var row = jQuery( '
  • \
    \ \ \ \ \
    \
    ' + '' + label_prefix + '' + label + '
    \
    ' + sum_btn + delete_btn + '\
  • \ ' ); row.find( 'input' ).prop( 'disabled', 'disabled' ); to.prepend( row ); woe_activate_draggable_field( to.find( '.segment_field' ).first(), segment, format ); to.find( '.segment_field' ).first().addClass( 'blink' ); jQuery('#notice_drag_fields').show().addClass( 'blink' ); var field = { key: label, colname: colname, 'default': 0, label: label, segment: segment, format: 'string', value: 'undefined', }; window.all_fields[segment].unshift( field ); } function woe_reset_field_contorls() { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ).find( 'input,select' ).val( '' ) jQuery( '.tab-actions-forms .segment-form select' ).each(function () { if (jQuery(this).find('option[selected]')) { jQuery(this).val(jQuery(this).find('option[selected]').attr('value')); } }); } function woe_escape_str( str ) { var entityMap = { "&": "&", "<": "<", ">": ">", '"': '"', "'": ''', "/": '/' }; jQuery.each( entityMap, function ( key, value ) { str = String( str ).replace( value, key ); } ); return String( str ).replace( /[&<>"'\/]/g, function ( s ) { return entityMap[s]; } ); } function woe_check_setup_fields_to_sort() { if (['XLS', 'PDF'].indexOf(output_format) > -1) { jQuery('select[name="settings[sort]"] option[value^="setup_field_"]').show(); } else { jQuery('select[name="settings[sort]"] option[value^="setup_field_"]').hide(); } if ( jQuery( 'select[name="settings[sort]"] option[value="'+ jQuery( 'select[name="settings[sort]"]').val() +'"]').css('display') == 'none') { jQuery( 'select[name="settings[sort]"]').val(jQuery( 'select[name="settings[sort]"] option').first().attr('value')); } } function woe_add_setup_fields_to_sort() { var value = jQuery( 'select[name="settings[sort]"]').val(); jQuery( 'select[name="settings[sort]"] option[value*="setup_field_"]').remove(); var options = ''; jQuery('#order_fields .mapping_col_1').each(function () { var label = jQuery(this).find('input[name*="[label]"]').val(); if (jQuery(this).find('input[name*="[key]"]').val() !== 'products' && jQuery(this).find('input[name*="[key]"]').val() !== 'coupons' && !jQuery( 'select[name="settings[sort]"] option').filter(function () { return jQuery(this).html().toLowerCase() === label.toLowerCase(); }).length) { options += ''; } }); jQuery( 'select[name="settings[sort]"] option[value="post_status"]' ).after(options); woe_check_setup_fields_to_sort(); if (['XLS', 'PDF'].indexOf(output_format) > -1 && value.indexOf('setup_field_') > -1) { jQuery( 'select[name="settings[sort]"]').val(value); } } jQuery( document ).ready( function ( $ ) { $( '#clear_selected_fields' ).click( function () { if ( confirm( localize_settings_form.remove_all_fields_confirm ) ) { if ( $( '#order_fields .mapping_row-delete_field' ).length > 0 ) { $( '#order_fields .mapping_row-delete_field' ).click(); } } } ); $( '.segment_choice' ).click( function () { var segment = $( this ).data( 'segment' ); $('.tab-actions-buttons').hide(); if ($('.tab-actions-buttons.' + segment + '-actions-buttons').length) { $('.tab-actions-buttons.' + segment + '-actions-buttons').show(); } else { $('.tab-actions-buttons.default-actions').show(); } $( '.segment_choice' ).removeClass( 'active' ); $( this ).addClass( 'active' ); $( '.settings-segment' ).removeClass( 'active' ); $( '#' + $( this ).data( 'segment' ) + '_unselected_segment' ).addClass( 'active' ); $( '.woe_segment_tips' ).removeClass( 'active' ); $( '#woe_tips_' + $( this ).data( 'segment' ) ).addClass( 'active' ); $('.add-calculated').hide(); if(jQuery.inArray(segment, ["common", "products", "product_items"]) >= 0) { $('.add-calculated').show(); } window.location.href = $( this ).attr( 'href' ); woe_reset_field_contorls(); } ); setTimeout(function () { woe_create_selected_fields( null, output_format, false ); if ( summary_mode_by_products ) { $( '.segment_choice[href="#segment=products"]' ).click() } else if ( summary_mode_by_customers ) { $( '.segment_choice[href="#segment=user"]' ).click() } else if ( window.location.hash.indexOf( 'segment' ) !== - 1 ) { $( '.segment_choice[href="' + window.location.hash + '"]' ).click() } else { $( '.segment_choice' ).first().click(); } }, 1000); jQuery( '#adjust-fields-btn' ).click( function () { jQuery( '#fields' ).toggle(); jQuery( '#fields_control' ).toggle(); return false; } ); setTimeout( function () { jQuery( "#sort_products" ).sortable({stop: function ( event, ui ) { woe_add_setup_fields_to_sort(); }})/*.disableSelection()*/; jQuery( "#sort_coupons" ).sortable({stop: function ( event, ui ) { woe_add_setup_fields_to_sort(); }})/*.disableSelection()*/; jQuery( "#order_fields" ).sortable( { scroll: true, scrollSensitivity: 100, scrollSpeed: 100, stop: function ( event, ui ) { woe_moving_products_and_coupons_group_blocks_to_first_item( jQuery( '.output_format:checked' ).val() ); woe_add_setup_fields_to_sort(); } } ); }, 0); jQuery( '.field_section' ).click( function () { var section = jQuery( this ).val(); var checked = jQuery( this ).is( ':checked' ); jQuery( '.segment_' + section ).each( function ( index ) { if ( checked ) { jQuery( this ).show(); //jQuery(this).find('input:checkbox:first').attr('checked', true); } else { jQuery( this ).hide(); jQuery( this ).find( 'input:checkbox:first' ).attr( 'checked', false ); } } ); } ); jQuery( '#order_fields' ).on( 'click', '.mapping_row-delete_field', function () { $( this ).closest( '.mapping_row' ).remove(); woe_check_sortable_groups(); woe_add_setup_fields_to_sort(); return false; } ); jQuery( '#order_fields' ).on( 'change', '.mapping_fieldname', function () { woe_add_setup_fields_to_sort(); } ); jQuery( '.tab-controls .tab-actions-buttons .add-meta' ).on( 'click', function () { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ); if ( jQuery( '.tab-actions-forms .div_meta.segment-form.' + jQuery( '#unselected_fields .segment_choice.active' ).attr( 'data-segment' ) + '-segment' ).length ) { jQuery( '.tab-actions-forms .div_meta.segment-form.' + jQuery( '#unselected_fields .segment_choice.active' ).attr( 'data-segment' ) + '-segment' ).addClass( 'active' ); } else { jQuery( '.tab-actions-forms .div_meta.segment-form.all-segments' ).addClass( 'active' ); } return false; } ); jQuery( '.tab-controls .tab-actions-buttons .add-custom' ).on( 'click', function () { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ); if ( jQuery( '.tab-actions-forms .div_custom.segment-form.' + jQuery( '#unselected_fields .segment_choice.active' ).attr( 'data-segment' ) + '-segment' ).length ) { jQuery( '.tab-actions-forms .div_custom.segment-form.' + jQuery( '#unselected_fields .segment_choice.active' ).attr( 'data-segment' ) + '-segment' ).addClass( 'active' ); } else { jQuery( '.tab-actions-forms .div_custom.segment-form.all-segments' ).addClass( 'active' ); } return false; } ); jQuery( '.tab-controls .tab-actions-buttons .add-calculated' ).on( 'click', function () { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ); if ( jQuery( '.tab-actions-forms .div_calculated.segment-form.' + jQuery( '#unselected_fields .segment_choice.active' ).attr( 'data-segment' ) + '-segment' ).length ) { jQuery( '.tab-actions-forms .div_calculated.segment-form.' + jQuery( '#unselected_fields .segment_choice.active' ).attr( 'data-segment' ) + '-segment' ).addClass( 'active' ); } else { jQuery( '.tab-actions-forms .div_calculated.segment-form.all-segments' ).addClass( 'active' ); } return false; } ); jQuery( '.tab-controls .button-cancel' ).on( 'click', function () { jQuery( this ).closest( '.segment-form' ) .removeClass( 'active' ) .find( 'input,select' ).val( '' ); jQuery( this ).closest( '.segment-form' ).find( 'select' ).each(function () { if (jQuery(this).find('option[selected]')) { jQuery(this).val(jQuery(this).find('option[selected]').attr('value')); } }); return false; } ); jQuery( '.button_cancel' ).click( function () { woe_reset_field_contorls(); return false; } ); jQuery( '#button_custom_field' ).click( function () { var colname = jQuery( '#colname_custom_field' ).val(); var value = jQuery( '#value_custom_field' ).val(); var format_field = jQuery( '#format_custom_field' ).val(); if ( ! colname ) { alert( export_messages.empty_column_name ); jQuery( '#colname_custom_field' ).focus(); return false } var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); woe_add_custom_field( jQuery( "#" + segment + '_unselected_segment' ), 'orders', output_format, colname, value, segment, format_field ); woe_reset_field_contorls(); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); jQuery( '#button_custom_meta' ).click( function () { var label = jQuery( '#select_custom_meta_order' ).val(); var colname = jQuery( '#colname_custom_meta' ).val(); var format_field = jQuery( '#format_custom_meta' ).val(); if ( ! label ) //try custom text { label = jQuery( '#text_custom_meta_order' ).val(); } ; if ( ! label ) { alert( export_messages.empty_meta_key ); jQuery( '#select_custom_meta_order' ).focus(); return false } if ( ! colname ) { alert( export_messages.empty_column_name ); jQuery( '#colname_custom_meta' ).focus(); return false } var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); woe_add_custom_meta( jQuery( "#" + segment + '_unselected_segment' ), 'orders', output_format, label, colname, segment, format_field ); woe_reset_field_contorls(); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); jQuery('#button_custom_meta_users').click(function () { var label = jQuery('#select_custom_meta_user').val(); var colname = jQuery('#colname_custom_meta_user').val(); var format_field = jQuery('#format_custom_meta_user').val(); if (!label) { //try custom text label = jQuery('#text_custom_meta_user').val(); } if (!label) { alert(export_messages.empty_meta_key); jQuery('#select_custom_meta_user').focus(); return false } if (!colname) { alert(export_messages.empty_column_name); jQuery('#colname_custom_meta_user').focus(); return false } var segment = jQuery('.segment_choice.active').attr('data-segment'); woe_add_custom_meta(jQuery("#" + segment + '_unselected_segment'), 'orders', output_format, label, colname, segment, format_field); woe_reset_field_contorls(); jQuery(this).siblings('.button-cancel').trigger('click'); return false; }); jQuery( '#button_custom_calculated' ).click( function () { var metakey = jQuery( '#metakey_custom_calculated' ).val(); var label = jQuery( '#label_custom_calculated' ).val(); var format_field = jQuery( '#format_custom_calculated' ).val(); if ( ! metakey ) { alert( export_messages.empty_meta_key ); jQuery( '#metakey_custom_calculated' ).focus(); return false } if ( ! label ) { alert( export_messages.empty_column_name ); jQuery( '#label_custom_calculated' ).focus(); return false } var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); woe_add_custom_meta( jQuery( "#" + segment + '_unselected_segment' ), 'orders', output_format, metakey, label, segment, format_field ); woe_reset_field_contorls(); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); jQuery( '.tab-controls .other_items-actions-buttons .add-fee' ).on( 'click', function () { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ); jQuery( '.tab-actions-forms .segment-form.other-items-add-fee-form' ).addClass( 'active' ); return false; } ); jQuery( '.other-items-add-fee-form #button_other_items_add_fee_field' ).on( 'click', function () { var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); var label = jQuery( '#select_fee_items' ).val(); var colname = jQuery( '#colname_fee_item_other_items' ).val(); if ( ! label ) { alert( export_messages.empty_meta_key ); jQuery( '#select_fee_items' ).focus(); return false } if ( ! colname ) { alert( export_messages.empty_column_name ); jQuery( '#colname_fee_item_other_items' ).focus(); return false } var format_field = jQuery( '#format_fee_item_other_items' ).val(); woe_add_custom_meta(jQuery("#" + segment + '_unselected_segment'), 'orders', output_format, label, colname, segment, format_field); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); function load_order_fee_items() { jQuery.post( ajaxurl, { action: 'order_exporter', method: 'get_used_order_fee_items', woe_nonce: settings_form.woe_nonce, tab: settings_form.woe_active_tab, }, function ( response ) { if ( response ) { var options = ''; jQuery.each( response, function ( index, value ) { options += ''; } ); jQuery( '#select_fee_items' ).html( options ); } }, 'json' ); } setTimeout( function () { load_order_fee_items(); }, 0); jQuery( '.tab-controls .other_items-actions-buttons .add-shipping' ).on( 'click', function () { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ); jQuery( '.tab-actions-forms .segment-form.other-items-add-shipping-form' ).addClass( 'active' ); return false; } ); jQuery( '.other-items-add-shipping-form #button_other_items_add_shipping_field' ).on( 'click', function () { var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); var label = jQuery( '#select_shipping_items' ).val(); var colname = jQuery( '#colname_shipping_item_other_items' ).val(); if ( ! label ) { alert( export_messages.empty_meta_key ); jQuery( '#select_shipping_items' ).focus(); return false } if ( ! colname ) { alert( export_messages.empty_column_name ); jQuery( '#colname_shipping_item_other_items' ).focus(); return false } var format_field = jQuery( '#format_shipping_item_other_items' ).val(); woe_add_custom_meta(jQuery("#" + segment + '_unselected_segment'), 'orders', output_format, label, colname, segment, format_field); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); function load_order_shipping_items() { jQuery.post( ajaxurl, { action: 'order_exporter', method: 'get_used_order_shipping_items', woe_nonce: settings_form.woe_nonce, tab: settings_form.woe_active_tab, }, function ( response ) { if ( response ) { var options = ''; jQuery.each( response, function ( index, value ) { options += ''; } ); jQuery( '#select_shipping_items' ).html( options ); } }, 'json' ); } setTimeout( function () { load_order_shipping_items(); }, 0); jQuery( '.tab-controls .other_items-actions-buttons .add-tax' ).on( 'click', function () { jQuery( '.tab-actions-forms .segment-form' ).removeClass( 'active' ); jQuery( '.tab-actions-forms .segment-form.other-items-add-tax-form' ).addClass( 'active' ); return false; } ); jQuery( '.other-items-add-tax-form #button_other_items_add_tax_field' ).on( 'click', function () { var segment = jQuery( '.segment_choice.active' ).attr( 'data-segment' ); var label = jQuery( '#select_tax_items' ).val(); var colname = jQuery( '#colname_tax_item_other_items' ).val(); if ( ! label ) { alert( export_messages.empty_meta_key ); jQuery( '#select_tax_items' ).focus(); return false } if ( ! colname ) { alert( export_messages.empty_column_name ); jQuery( '#colname_tax_item_other_items' ).focus(); return false } var format_field = jQuery( '#format_tax_item_other_items' ).val(); woe_add_custom_meta(jQuery("#" + segment + '_unselected_segment'), 'orders', output_format, label, colname, segment, format_field); jQuery( this ).siblings( '.button-cancel' ).trigger( 'click' ); return false; } ); function load_order_tax_items() { jQuery.post( ajaxurl, { action: 'order_exporter', method: 'get_used_order_tax_items', woe_nonce: settings_form.woe_nonce, tab: settings_form.woe_active_tab, }, function ( response ) { if ( response ) { var options = ''; jQuery.each( response, function ( index, value ) { options += ''; } ); jQuery( '#select_tax_items' ).html( options ); } }, 'json' ); } setTimeout( function () { load_order_tax_items(); }, 0); ///*CUSTOM FIELDS BINDS jQuery( 'input[name=custom_meta_order_mode]' ).change( function () { var fill_custom_meta_fields = function (source) { jQuery.each(source, function (index, value) { var options = ''; jQuery.each(value, function (meta_id, meta_label) { options += ''; }); jQuery('#select_custom_meta_' + index).html(options); }); }; if (!jQuery(this).prop('checked')) { fill_custom_meta_fields(window.order_custom_meta_fields); } else { var json = woe_make_json_var(jQuery('#export_job_settings')); var data = "json=" + json + "&action=order_exporter&method=get_used_custom_order_meta&woe_nonce=" + settings_form.woe_nonce + '&tab=' + settings_form.woe_active_tab; jQuery.post(ajaxurl, data, function (response) { if (response) { fill_custom_meta_fields(response); } }, 'json'); } } ); jQuery( 'input[name=custom_meta_products_mode]' ).change( function () { jQuery( '#select_custom_meta_products' ).prop( "disabled", true ); if ( ! jQuery( this ).is( ':checked' ) ) { var options = ''; jQuery.each( window.order_products_custom_meta_fields, function ( index, value ) { options += ''; } ); jQuery( '#select_custom_meta_products' ).html( options ); jQuery( '#select_custom_meta_products' ).prop( "disabled", false ); } else { // jQuery('#modal-manage-products').html(jQuery('#TB_ajaxContent').html()); //var data = jQuery( '#export_job_settings' ).serialize(), var data = 'json=' + woe_make_json_var( jQuery( '#export_job_settings' ) ), data_products = data + "&action=order_exporter&method=get_used_custom_products_meta&mode=" + mode + "&id=" + job_id + '&woe_nonce=' + settings_form.woe_nonce + '&tab=' + settings_form.woe_active_tab; jQuery.post( ajaxurl, data_products, function ( response ) { if ( response ) { var options = ''; jQuery.each( response, function ( index, value ) { options += ''; } ); jQuery( '#select_custom_meta_products' ).html( options ); jQuery( '#select_custom_meta_products' ).prop( "disabled", false ); } }, 'json' ); // jQuery('#modal-manage-products').html(''); } } ); jQuery( 'input[name=custom_meta_product_items_mode]' ).change( function () { jQuery( '#select_custom_meta_order_items' ).prop( "disabled", true ); if ( ! jQuery( this ).is( ':checked' ) ) { options = ''; jQuery.each( window.order_order_item_custom_meta_fields, function ( index, value ) { options += ''; } ); jQuery( '#select_custom_meta_order_items' ).html( options ); jQuery( '#select_custom_meta_order_items' ).prop( "disabled", false ); } else { // jQuery('#modal-manage-products').html(jQuery('#TB_ajaxContent').html()); //var data = jQuery( '#export_job_settings' ).serialize(), var data = 'json=' + woe_make_json_var( jQuery( '#export_job_settings' ) ), data_order_items = data + "&action=order_exporter&method=get_used_custom_order_items_meta&mode=" + mode + "&id=" + job_id + '&woe_nonce=' + settings_form.woe_nonce + '&tab=' + settings_form.woe_active_tab; jQuery.post( ajaxurl, data_order_items, function ( response ) { if ( response ) { var options = ''; jQuery.each( response, function ( index, value ) { options += ''; } ); jQuery( '#select_custom_meta_order_items' ).html( options ); jQuery( '#select_custom_meta_order_items' ).prop( "disabled", false ); } }, 'json' ); // jQuery('#modal-manage-products').html(''); } } ); setTimeout( function () { jQuery( 'input[name=custom_meta_products_mode]' ).trigger( 'change' ); }, 0); setTimeout( function () { jQuery( 'input[name=custom_meta_product_items_mode]' ).trigger( 'change' ); }, 0); jQuery( 'input[name=custom_meta_coupons_mode]' ).change( function () { if ( jQuery( this ).val() == 'all' ) { var options = ''; jQuery.each( window.order_coupons_custom_meta_fields, function ( index, value ) { options += ''; } ); jQuery( '#select_custom_meta_coupons' ).html( options ); } else { var data = jQuery( '#export_job_settings' ).serialize() data = data + "&action=order_exporter&method=get_used_custom_coupons_meta&woe_nonce=" + settings_form.woe_nonce + '&tab=' + settings_form.woe_active_tab; jQuery.post( ajaxurl, data, function ( response ) { if ( response ) { var options = ''; jQuery.each( response, function ( index, value ) { options += ''; } ); jQuery( '#select_custom_meta_coupons' ).html( options ); } }, 'json' ); } } ); /////////////END CUSTOM FIELDS BINDS jQuery( '.output_format' ).click( function () { var new_format = jQuery( this ).val(); jQuery( '#my-format .my-icon-triangle' ).removeClass( 'ui-icon-triangle-1-n' ); jQuery( '#my-format .my-icon-triangle' ).addClass( 'ui-icon-triangle-1-s' ); if ( new_format != output_format ) { jQuery( this ).next().removeClass( 'ui-icon-triangle-1-s' ); jQuery( this ).next().addClass( 'ui-icon-triangle-1-n' ); jQuery( '#' + output_format + '_options' ).hide(); jQuery( '#' + new_format + '_options' ).show(); var format_type_changed = ! ( woe_is_flat_format( new_format ) && woe_is_flat_format( output_format ) ); old_output_format = output_format; output_format = new_format; woe_synch_selected_fields( old_output_format, output_format ); woe_create_selected_fields( old_output_format, output_format, format_type_changed ); jQuery( '.field_section' ).prop( 'checked', true ); jQuery( '#output_preview, #output_preview_csv' ).hide(); // jQuery( '#fields' ).hide(); // jQuery( '#fields_control' ).hide(); woe_change_filename_ext(); } else { if ( ! jQuery( '#' + new_format + '_options' ).is( ':hidden' ) ) { jQuery( '#' + new_format + '_options' ).hide(); } else { if ( jQuery( '#' + new_format + '_options' ).is( ':hidden' ) ) { jQuery( '#' + new_format + '_options' ).show(); jQuery( this ).next().removeClass( 'ui-icon-triangle-1-s' ); jQuery( this ).next().addClass( 'ui-icon-triangle-1-n' ); } } } woe_check_sortable_groups(); woe_check_setup_fields_to_sort(); } ); woe_check_setup_fields_to_sort(); jQuery( '#summary_report_by_products_checkbox' ).add('#summary_report_by_customers_checkbox').change( function( e ) { if ( jQuery( '#summary_report_by_products_checkbox' ).is( ":checked" ) || jQuery( '#summary_report_by_customers_checkbox' ).is( ":checked" ) ) { jQuery('#woe_common_tips').hide(); } else { jQuery('#woe_common_tips').show(); jQuery('#order_fields').find('.mapping_col_3.mapping_row-sum_field_block').show(); } } ); //logic for setup link jQuery( "#summary_report_by_products_checkbox" ).change( function ( e, action ) { var summary_report_fields = []; summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_qty"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_qty_minus_refund"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_amount"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_amount_minus_refund"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_amount_inc_tax"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_weight"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_discount"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_refund_count"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#products_unselected_segment input[value="plain_products_summary_report_total_refund_amount"]' ).parents( 'li' ) ); jQuery( '#manage_fields' ).toggleClass( 'summary-products-report', ! ! jQuery( this ).prop( 'checked' ) ); $('#summary_report_by_customers_checkbox').prop( 'disabled', !!jQuery( this ).prop( 'checked' ) ); $( '#unselected_fields .segment_choice' ).removeClass( 'active' ); $( '#unselected_fields_list .settings-segment' ).removeClass( 'active' ); if ( jQuery( this ).prop( 'checked' ) ) { var segment = 'products'; // hide product fields starts with 'line' and 'qty' // $( '#products_unselected_segment input, #order_fields input' ).map( function () { // var matches = $( this ).attr( 'value' ).match( /plain_products_(line|qty).*/ ); // if ( matches ) { // $( this ).closest( '.mapping_row' ).hide(); // } // } ); if ( 'onstart' !== action ) { // purge summary report fields before insert $( '#order_fields input[value="plain_products_summary_report_total_qty"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_qty_minus_refund"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_amount_minus_refund"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_amount_inc_tax"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_weight"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_discount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove(); // insert summary report fields jQuery.each( summary_report_fields, function ( i, value ) { $( value ).show(); var $field_to_copy = $( value ).clone(); $field_to_copy .attr( 'style', '' ) .addClass( 'ui-draggabled' ) .removeClass( 'segment_field' ) .find( 'input' ).prop( 'disabled', false ); jQuery( '#manage_fields #order_fields' ).append( $field_to_copy ); } ); jQuery('.mapping_row-sum_field_block').addClass('hide'); jQuery('.summary-row-title').addClass('hide'); jQuery('#display_summary_row_checkbox').prop('checked', false); } } else { var segment = window.location.hash.replace( '#segment=', '' ); // show product fields starts with 'line' and 'qty' $( '#products_unselected_segment input, #order_fields input' ).map( function () { var $value = $( this ).attr( 'value' ); if ( typeof $value === 'undefined' ) { return; } if ( $value.match( /plain_products_(line|qty).*/ ) ) { $( this ).closest( '.mapping_row' ).show(); } } ); // purge summary report fields $( '#order_fields input[value="plain_products_summary_report_total_qty"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_qty_minus_refund"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_amount_minus_refund"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_amount_inc_tax"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_weight"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_discount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields input[value="plain_products_summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove(); jQuery.each( summary_report_fields, function ( i, value ) { $( value ).hide(); } ); if (['XLS', 'PDF'].indexOf(output_format) > -1) { jQuery('.mapping_row-sum_field_block').removeClass('hide'); jQuery('.summary-row-title').removeClass('hide'); } } $( '#unselected_fields .segment_choice[data-segment="' + segment + '"]' ).addClass( 'active' ); $( '#unselected_fields_list .settings-segment#' + segment + '_unselected_segment' ).addClass( 'active' ); } ); //logic for setup link jQuery( "#summary_report_by_customers_checkbox" ).change( function ( e, action ) { var summary_report_fields = []; summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_count"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_count_items"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_count_items_exported"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_sum_items_exported"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_amount"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_amount_paid"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_shipping"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_discount"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_refund_count"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_refund_amount"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_tax_amount"]' ).parents( 'li' ) ); summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_fee_amount"]' ).parents( 'li' ) ); jQuery( '#manage_fields' ).toggleClass( 'summary-customers-report', ! ! jQuery( this ).prop( 'checked' ) ); $('#summary_report_by_products_checkbox').prop( 'disabled', !!jQuery( this ).prop( 'checked' ) ); $( '#unselected_fields .segment_choice' ).removeClass( 'active' ); $( '#unselected_fields_list .settings-segment' ).removeClass( 'active' ); if ( jQuery( this ).prop( 'checked' ) ) { var segment = 'user'; if ( 'onstart' !== action ) { // purge summary report fields before insert $( '#order_fields .segment_user input[value="summary_report_total_count"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_count_items"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_count_items_exported"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_sum_items_exported"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_amount_paid"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_shipping"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_discount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_tax_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_fee_amount"]' ).closest( '.mapping_row' ).remove(); // insert summary report fields jQuery.each( summary_report_fields, function ( i, value ) { $( value ).show(); var $field_to_copy = $( value ).clone(); $field_to_copy .attr( 'style', '' ) .addClass( 'ui-draggabled' ) .removeClass( 'segment_field' ) .find( 'input' ).prop( 'disabled', false ); jQuery( '#manage_fields #order_fields' ).append( $field_to_copy ); } ); jQuery('.mapping_row-sum_field_block').addClass('hide'); jQuery('.summary-row-title').addClass('hide'); jQuery('#display_summary_row_checkbox').prop('checked', false); } $( '#unselected_fields .segment_choice[data-segment="' + segment + '"]' ).addClass( 'active' ); $( '#unselected_fields_list .settings-segment#' + segment + '_unselected_segment' ).addClass( 'active' ); } else { var segment = window.location.hash.replace( '#segment=', '' ); // purge summary report fields $( '#order_fields .segment_user input[value="summary_report_total_count"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_count_items"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_count_items_exported"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_sum_items_exported"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_amount_paid"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_shipping"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_discount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_tax_amount"]' ).closest( '.mapping_row' ).remove(); $( '#order_fields .segment_user input[value="summary_report_total_fee_amount"]' ).closest( '.mapping_row' ).remove(); jQuery.each( summary_report_fields, function ( i, value ) { $( value ).hide(); } ); jQuery('.mapping_row-sum_field_block').removeClass('hide'); jQuery('.summary-row-title').removeClass('hide'); } $( '#unselected_fields .segment_choice[data-segment="' + segment + '"]' ).addClass( 'active' ); $( '#unselected_fields_list .settings-segment#' + segment + '_unselected_segment' ).addClass( 'active' ); } ); setTimeout( function () { jQuery( "#summary_report_by_products_checkbox" ).trigger( 'change', 'onstart' ); }, 1 ) setTimeout( function () { jQuery( "#summary_report_by_customers_checkbox" ).trigger( 'change', 'onstart' ); }, 1 ) jQuery('#display_summary_row_checkbox').on('click', (e) => { const isChecked = jQuery(e.target).prop('checked'); if (isChecked) { jQuery('#order_fields').find('.mapping_col_3.mapping_row-sum_field_block').show(); jQuery('#title_for_summary_row_block').show(); } else { jQuery('#order_fields').find('.mapping_col_3.mapping_row-sum_field_block').hide(); jQuery('#title_for_summary_row_block').hide(); } }) } ); jQuery(document).on('click', '.add_php_code', event => { textarea_active = jQuery( 'input[type="checkbox"][name="settings[custom_php]"]' ).is( ':checked' ); if(!textarea_active) return; const clickedElement = jQuery(event.target); field = clickedElement.attr('title'); type = clickedElement.data('field-type'); var template = []; template['order'] = "add_filter('woe_get_order_value_FIELD',function( $value,$order, $fieldname ) {\n\ return $value;\n\ }, 10, 3 );"; template['product'] = "add_filter('woe_get_order_product_value_FIELD', function ($value, $order, $item, $product,$item_meta) {\n\ return $value;\n\ }, 10, 5 );"; template['coupon'] = "add_filter('woe_get_order_coupon_value_FIELD', function ($value, $order, $item) {\n\ return $value;\n\ }, 10, 3 );"; if( template[type] === undefined ) return;// unknown type?? code = template[type].replace('FIELD',field); area = jQuery( '[name="settings[custom_php_code]"]' ) area.val( area.val() + (area.val()?"\n\n":"") + code ); alert( 'Field "'+ field + '". PHP code added to "Misc Settings"!'); area.focus(); area.scrollTop(area[0].scrollHeight - area.height()); });