PodsUI::filters_popup PHP Method

filters_popup() public method

public filters_popup ( )
    public function filters_popup()
    {
        $filters = $this->filters;
        ?>
    <div id="pods-ui-posts-filter-popup" class="hidden">
        <form action="" method="get" class="pods-ui-posts-filter-popup">
            <h2><?php 
        _e('Advanced Filters', 'pods');
        ?>
</h2>

            <div class="pods-ui-posts-filters">
                <?php 
        $excluded_filters = array('search' . $this->num, 'pg' . $this->num, 'action' . $this->num, 'action_bulk' . $this->num, 'action_bulk_ids' . $this->num, '_wpnonce' . $this->num);
        foreach ($filters as $filter) {
            $excluded_filters[] = 'filters_relation';
            $excluded_filters[] = 'filters_compare_' . $filter;
            $excluded_filters[] = 'filter_' . $filter . '_start';
            $excluded_filters[] = 'filter_' . $filter . '_end';
            $excluded_filters[] = 'filter_' . $filter;
        }
        $get = $_GET;
        foreach ($get as $k => $v) {
            if (in_array($k, $excluded_filters) || strlen($v) < 1) {
                continue;
            }
            ?>
                    <input type="hidden" name="<?php 
            echo esc_attr($k);
            ?>
" value="<?php 
            echo esc_attr($v);
            ?>
" />
                <?php 
        }
        $zebra = true;
        foreach ($filters as $filter) {
            if (empty($filter)) {
                continue;
            }
            if (isset($this->pod->fields[$filter])) {
                $filter_field = $this->pod->fields[$filter];
            } elseif (isset($this->fields['manage'][$filter])) {
                $filter_field = $this->fields['manage'][$filter];
            } else {
                continue;
            }
            ?>
                    <p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-<?php 
            echo esc_attr($filter . ($zebra ? ' clear' : ''));
            ?>
">
                        <?php 
            if (in_array($filter_field['type'], array('date', 'datetime', 'time'))) {
                $start = pods_var_raw('filter_' . $filter . '_start', 'get', pods_var_raw('filter_default', $filter_field, '', null, true), null, true);
                $end = pods_var_raw('filter_' . $filter . '_end', 'get', pods_var_raw('filter_ongoing_default', $filter_field, '', null, true), null, true);
                // override default value
                $filter_field['options']['default_value'] = '';
                $filter_field['options'][$filter_field['type'] . '_allow_empty'] = 1;
                if (!empty($start) && !in_array($start, array('0000-00-00', '0000-00-00 00:00:00', '00:00:00'))) {
                    $start = PodsForm::field_method($filter_field['type'], 'convert_date', $start, 'n/j/Y');
                }
                if (!empty($end) && !in_array($end, array('0000-00-00', '0000-00-00 00:00:00', '00:00:00'))) {
                    $end = PodsForm::field_method($filter_field['type'], 'convert_date', $end, 'n/j/Y');
                }
                ?>
                            <span class="pods-ui-posts-filter-toggle toggle-on<?php 
                echo esc_attr(empty($start) && empty($end) ? '' : ' hidden');
                ?>
">+</span>
                            <span class="pods-ui-posts-filter-toggle toggle-off<?php 
                echo esc_attr(empty($start) && empty($end) ? ' hidden' : '');
                ?>
"><?php 
                _e('Clear', 'pods');
                ?>
</span>

                            <label for="pods-form-ui-filter-<?php 
                echo esc_attr($filter);
                ?>
_start">
                                <?php 
                echo $filter_field['label'];
                ?>
                            </label>

                            <span class="pods-ui-posts-filter<?php 
                echo esc_attr(empty($start) && empty($end) ? ' hidden' : '');
                ?>
">
                                <?php 
                echo PodsForm::field('filter_' . $filter . '_start', $start, $filter_field['type'], $filter_field);
                ?>

                                <label for="pods-form-ui-filter-<?php 
                echo esc_attr($filter);
                ?>
_end">to</label>
                                <?php 
                echo PodsForm::field('filter_' . $filter . '_end', $end, $filter_field['type'], $filter_field);
                ?>
                            </span>
                        <?php 
            } elseif ('pick' == $filter_field['type']) {
                $value = pods_var_raw('filter_' . $filter, 'get', '');
                if (strlen($value) < 1) {
                    $value = pods_var_raw('filter_default', $filter_field);
                }
                // override default value
                $filter_field['options']['default_value'] = '';
                $filter_field['options']['pick_format_type'] = 'single';
                $filter_field['options']['pick_format_single'] = 'dropdown';
                $filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', pods_var_raw('options', pods_var_raw($filter, $this->fields['search'], array(), null, true), array(), null, true), '', null, true);
                $filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', $filter_field['options'], $filter_field['options']['input_helper'], null, true);
                $options = array_merge($filter_field, $filter_field['options']);
                ?>
                            <span class="pods-ui-posts-filter-toggle toggle-on<?php 
                echo esc_attr(empty($value) ? '' : ' hidden');
                ?>
">+</span>
                            <span class="pods-ui-posts-filter-toggle toggle-off<?php 
                echo esc_attr(empty($value) ? ' hidden' : '');
                ?>
"><?php 
                _e('Clear', 'pods');
                ?>
</span>

                            <label for="pods-form-ui-filter-<?php 
                echo esc_attr($filter);
                ?>
">
                                <?php 
                echo $filter_field['label'];
                ?>
                            </label>

                            <span class="pods-ui-posts-filter<?php 
                echo esc_attr(strlen($value) < 1 ? ' hidden' : '');
                ?>
">
                                <?php 
                echo PodsForm::field('filter_' . $filter, $value, 'pick', $options);
                ?>
                            </span>
                        <?php 
            } elseif ('boolean' == $filter_field['type']) {
                $value = pods_var_raw('filter_' . $filter, 'get', '');
                if (strlen($value) < 1) {
                    $value = pods_var_raw('filter_default', $filter_field);
                }
                // override default value
                $filter_field['options']['default_value'] = '';
                $filter_field['options']['pick_format_type'] = 'single';
                $filter_field['options']['pick_format_single'] = 'dropdown';
                $filter_field['options']['pick_object'] = 'custom-simple';
                $filter_field['options']['pick_custom'] = array('1' => pods_var_raw('boolean_yes_label', $filter_field['options'], __('Yes', 'pods'), null, true), '0' => pods_var_raw('boolean_no_label', $filter_field['options'], __('No', 'pods'), null, true));
                $filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', pods_var_raw('options', pods_var_raw($filter, $this->fields['search'], array(), null, true), array(), null, true), '', null, true);
                $filter_field['options']['input_helper'] = pods_var_raw('ui_input_helper', $filter_field['options'], $filter_field['options']['input_helper'], null, true);
                $options = array_merge($filter_field, $filter_field['options']);
                ?>
                            <span class="pods-ui-posts-filter-toggle toggle-on<?php 
                echo esc_attr(empty($value) ? '' : ' hidden');
                ?>
">+</span>
                            <span class="pods-ui-posts-filter-toggle toggle-off<?php 
                echo esc_attr(empty($value) ? ' hidden' : '');
                ?>
"><?php 
                _e('Clear', 'pods');
                ?>
</span>

                            <label for="pods-form-ui-filter-<?php 
                echo esc_attr($filter);
                ?>
">
                                <?php 
                echo $filter_field['label'];
                ?>
                            </label>

                            <span class="pods-ui-posts-filter<?php 
                echo esc_attr(strlen($value) < 1 ? ' hidden' : '');
                ?>
">
                                <?php 
                echo PodsForm::field('filter_' . $filter, $value, 'pick', $options);
                ?>
                            </span>
                        <?php 
            } else {
                $value = pods_var_raw('filter_' . $filter, 'get');
                if (strlen($value) < 1) {
                    $value = pods_var_raw('filter_default', $filter_field);
                }
                $options = array('input_helper' => pods_var_raw('ui_input_helper', pods_var_raw('options', pods_var_raw($filter, $this->fields['search'], array(), null, true), array(), null, true), '', null, true));
                if (empty($options['input_helper']) && isset($filter_field['options']) && isset($filter_field['options']['input_helper'])) {
                    $options['input_helper'] = $filter_field['options']['input_helper'];
                }
                ?>
                            <span class="pods-ui-posts-filter-toggle toggle-on<?php 
                echo esc_attr(empty($value) ? '' : ' hidden');
                ?>
">+</span>
                            <span class="pods-ui-posts-filter-toggle toggle-off<?php 
                echo esc_attr(empty($value) ? ' hidden' : '');
                ?>
"><?php 
                _e('Clear', 'pods');
                ?>
</span>

                            <label for="pods-form-ui-filter-<?php 
                echo esc_attr($filter);
                ?>
">
                                <?php 
                echo $filter_field['label'];
                ?>
                            </label>

                            <span class="pods-ui-posts-filter<?php 
                echo esc_attr(empty($value) ? ' hidden' : '');
                ?>
">
                                <?php 
                echo PodsForm::field('filter_' . $filter, $value, 'text', $options);
                ?>
                            </span>
                        <?php 
            }
            ?>
                    </p>
                <?php 
            $zebra = empty($zebra);
        }
        ?>

                <p class="pods-ui-posts-filter-toggled pods-ui-posts-filter-search<?php 
        echo esc_attr($zebra ? ' clear' : '');
        ?>
">
                    <label for="pods-form-ui-search<?php 
        echo esc_attr($this->num);
        ?>
"><?php 
        _e('Search Text', 'pods');
        ?>
</label>
                    <?php 
        echo PodsForm::field('search' . $this->num, pods_var_raw('search' . $this->num, 'get'), 'text');
        ?>
                </p>

                <?php 
        $zebra = empty($zebra);
        ?>
            </div>

            <p class="submit<?php 
        echo esc_attr($zebra ? ' clear' : '');
        ?>
"><input type="submit" value="<?php 
        echo esc_attr($this->header['search']);
        ?>
" class="button button-primary" /></p>
        </form>
    </div>

    <script type="text/javascript">
        jQuery( function () {
            jQuery( document ).on( 'click', '.pods-ui-posts-filter-toggle.toggle-on', function ( e ) {
                jQuery( this ).parent().find( '.pods-ui-posts-filter' ).removeClass( 'hidden' );

                jQuery( this ).hide();
                jQuery( this ).parent().find( '.toggle-off' ).show();
            } );

            jQuery( document ).on( 'click', '.pods-ui-posts-filter-toggle.toggle-off', function ( e ) {
                jQuery( this ).parent().find( '.pods-ui-posts-filter' ).addClass( 'hidden' );
                jQuery( this ).parent().find( 'select, input' ).val( '' );

                jQuery( this ).hide();
                jQuery( this ).parent().find( '.toggle-on' ).show();
            } );

            jQuery( document ).on( 'click', '.pods-ui-posts-filter-toggled label', function ( e ) {
                if ( jQuery( this ).parent().find( '.pods-ui-posts-filter' ).hasClass( 'hidden' ) ) {
                    jQuery( this ).parent().find( '.pods-ui-posts-filter' ).removeClass( 'hidden' );

                    jQuery( this ).parent().find( '.toggle-on' ).hide();
                    jQuery( this ).parent().find( '.toggle-off' ).show();
                }
                else {
                    jQuery( this ).parent().find( '.pods-ui-posts-filter' ).addClass( 'hidden' );
                    jQuery( this ).parent().find( 'select, input' ).val( '' );

                    jQuery( this ).parent().find( '.toggle-on' ).show();
                    jQuery( this ).parent().find( '.toggle-off' ).hide();
                }
            } );
        } );
    </script>
<?php 
    }