WordPress.org

Plugin Directory

Changeset 615285


Ignore:
Timestamp:
10/21/12 15:30:37 (18 months ago)
Author:
eskapism
Message:

version 1.0.4

Location:
simple-fields
Files:
5 edited
14 copied

Legend:

Unmodified
Added
Removed
  • simple-fields/tags/1.0.4/field_types/field_divider.php

    r614081 r615285  
    2020        } 
    2121         
     22        /** 
     23         *  Output CSS in admin head 
     24         */ 
    2225        function action_admin_head() { 
    2326            ?> 
     
    2831 
    2932                .simple-fields-fieldgroups-field-type-divider-line { 
    30                     margin: 2em 0; 
     33                    margin: 1em 0; 
    3134                    border: 0; 
    3235                    border-top: 1px solid #DFDFDF; 
     
    3740                 
    3841                .simple-fields-fieldgroups-field-type-divider-white_space { 
    39                     height: 2em; 
     42                    height: 1em; 
    4043                } 
    4144            </style> 
  • simple-fields/tags/1.0.4/readme.txt

    r614081 r615285  
    55Requires at least: 3.3.1 
    66Tested up to: 3.4.2 
    7 Stable tag: 1.0.3 
     7Stable tag: 1.0.4 
    88 
    99Add more advanced custom fields types to your edit post page. Field can be of several types, including textarea, checkbox, radio buttons, files and color picker. 
     
    165165== Changelog == 
    166166 
     167#### Version 1.0.4 
     168- Added: Add button added to bottom of the added field groups. Will be visible when more than 1 field group is added. 
     169- Changed: moved to a two column mode/appearance. Makes the fields take upp less space, and making it more clutter free. 
     170- Changed: minor CSS fixes here and there 
     171 
    167172#### Version 1.0.3 
    168173- Added: Added options for returning values as "Extended Return Values".  
     
    175180- Added: new field type: divider. Useful if you have a field group with many fields. By adding the divider field to a field group it simply created a shite space or a space with a line. It's written using the new Extension API btw, so feel free to check out the source if you want to create something similar yourself. 
    176181- Changed: The debug output also includes example on how to get all field in a field group at once. 
     182- Changed: The edit field group admin page now is a bit more compact. Makes easier to get an overview of all the added fields. 
    177183 
    178184#### Version 1.0.2 
  • simple-fields/tags/1.0.4/scripts.js

    r614081 r615285  
    2020    // add new field to the field group 
    2121    function simple_fields_field_group_add_field() { 
     22 
    2223        simple_fields_highest_field_id++; 
     24 
    2325        var data = { 
    2426            action: 'simple_fields_field_group_add_field', 
    2527            simple_fields_highest_field_id: simple_fields_highest_field_id 
    2628        }; 
     29 
    2730        $.post(ajaxurl, data, function(response) { 
    2831            var ul = $("#simple-fields-field-group-existing-fields ul:first"); 
     
    3033            ul.append($response); 
    3134            ul.find(".simple-fields-field-group-one-field:last").effect("highlight").find(".simple-fields-field-group-one-field-name").focus(); 
    32             //$response.effect("highlight").find(".simple-fields-field-group-one-field-name").focus(); 
    33         }); 
     35        }); 
     36 
    3437    } 
    3538     
     
    257260    // - num in (new) set 
    258261    var simple_fields_new_fields_count = 0; 
    259     $(".simple-fields-metabox-field-add").live("click", function() { 
     262    $(".simple-fields-metabox-field-add").live("click", function(e) { 
    260263 
    261264        var $t = $(this); 
    262         //var $a = $(this).find("a"); 
     265         
    263266        $t.text(sfstrings.adding); 
    264267        var $wrapper = $(this).parents(".simple-fields-meta-box-field-group-wrapper"); 
     
    272275            "post_id": post_id 
    273276        }; 
     277 
     278        var is_link_at_bottom = $t.hasClass("simple-fields-metabox-field-add-bottom"); 
    274279     
    275280        $.post(ajaxurl, data, function(response) { 
     
    278283            $response = $(response); 
    279284            $response.hide(); 
    280             $ul.prepend($response); 
     285            if (is_link_at_bottom) { 
     286                $ul.append($response); 
     287            } else { 
     288                $ul.prepend($response); 
     289            } 
     290 
     291            var wrapper = $ul.closest(".simple-fields-meta-box-field-group-wrapper"); 
     292            // var lis = $ul.find(">li"); 
     293 
    281294            $response.slideDown("slow", function() { 
    282295                 
     
    293306                $(document.body).trigger("field_group_added", $response); 
    294307            }); 
     308 
    295309            $t.html("<a href='#'>+ "+sfstrings.add+"</a>"); 
     310            //wrapper.find(".simple-fields-metabox-field-add-bottom").show(); 
     311            wrapper.addClass("simple-fields-meta-box-field-group-wrapper-has-fields-added"); 
    296312 
    297313        }); 
     
    332348        if (confirm(sfstrings.confirmRemoveGroup)) { 
    333349            var li = $(this).closest("li"); 
    334             li.hide("slow", function() { li.remove(); }); 
     350            li.hide("slow", function() { 
     351 
     352                var wrapper = li.closest("div.simple-fields-meta-box-field-group-wrapper"); 
     353                var ul = li.closest("ul.simple-fields-metabox-field-group-fields"); 
     354                li.remove(); 
     355                 
     356                // If removed last fieldgroup, hide the add link 
     357                if (ul.find(">li").length === 0) { 
     358                    //wrapper.find("div.simple-fields-metabox-field-add-bottom").hide("slow"); 
     359                    wrapper.removeClass("simple-fields-meta-box-field-group-wrapper-has-fields-added"); 
     360                } else { 
     361                    wrapper.addClass("simple-fields-meta-box-field-group-wrapper-has-fields-added"); 
     362                } 
     363 
     364            }); 
     365 
    335366        } 
    336367        return false; 
  • simple-fields/tags/1.0.4/simple_fields.php

    r614081 r615285  
    44Plugin URI: http://simple-fields.com 
    55Description: Add groups of textareas, input-fields, dropdowns, radiobuttons, checkboxes and files to your edit post screen. 
    6 Version: 1.0.3 
     6Version: 1.0.4 
    77Author: Pär Thernström 
    88Author URI: http://eskapism.se/ 
     
    5252        define( "SIMPLE_FIELDS_URL", plugins_url(basename(dirname(__FILE__))). "/"); 
    5353        define( "SIMPLE_FIELDS_NAME", "Simple Fields"); 
    54         define( "SIMPLE_FIELDS_VERSION", "1.0.3"); 
     54        define( "SIMPLE_FIELDS_VERSION", "1.0.4"); 
    5555 
    5656        load_plugin_textdomain( 'simple-fields', null, basename(dirname(__FILE__)).'/languages/'); 
     
    422422            <?php // must use this "added"-thingie do be able to track added field group that has no added values (like unchecked checkboxes, that we can't detect ?> 
    423423            <input type="hidden" name="simple_fields_fieldgroups[<?php echo $field_group_id ?>][added][<?php echo $num_in_set ?>]" value="1" /> 
    424              
    425424            <div class="simple-fields-metabox-field-group-handle"></div> 
    426425            <?php 
     
    429428                ?><div class="hidden simple-fields-metabox-field-group-delete"><a href="#" title="<?php _e('Remove field group', 'simple-fields') ?>"></a></div><?php 
    430429            } 
    431             ?> 
    432             <?php 
    433430             
    434431            // Output content for each field in this fieldgroup 
    435432            // LI = fieldgroup 
    436433            // DIV = field 
    437  
    438434            foreach ($current_field_group["fields"] as $field) { 
    439435             
     
    454450                } 
    455451                 
     452                // div that wraps around each outputed field 
     453                // Output will be similar to this 
     454                // <div class="simple-fields-metabox-field simple-fields-fieldgroups-field-1-1 simple-fields-fieldgroups-field-type-text" data-fieldgroup_id="1" data-field_id="1" data-num_in_set="0"> 
    456455                ?> 
    457456                <div class="simple-fields-metabox-field <?php echo $field_class ?>"  
     
    461460                    > 
    462461                    <?php 
     462 
    463463                    // different output depending on field type 
    464464                    if ("checkbox" == $field["type"]) { 
     
    475475                            $str_checked = ""; 
    476476                        } 
     477 
     478                        echo "<div class='simple-fields-metabox-field-first'>"; 
     479                        echo "</div>"; 
     480                        echo "<div class='simple-fields-metabox-field-second'>"; 
    477481                        echo "<input $str_checked id='$field_unique_id' type='checkbox' name='$field_name' value='1' />"; 
    478482                        echo "<label class='simple-fields-for-checkbox' for='$field_unique_id'> " . $field["name"] . "</label>"; 
    479483                        echo $description; 
     484                        echo "</div>"; 
    480485         
    481486                    } elseif ("radiobuttons" == $field["type"]) { 
    482487         
     488                        echo "<div class='simple-fields-metabox-field-first'>"; 
    483489                        echo "<label>" . $field["name"] . "</label>"; 
    484                         echo $description; 
     490                        echo "</div>"; 
     491 
     492                        echo "<div class='simple-fields-metabox-field-second'>"; 
    485493                        $radio_options = $field["type_radiobuttons_options"]; 
    486494                        $radio_checked_by_default_num = @$radio_options["checked_by_default_num"]; 
    487495     
     496                        echo $description; 
     497 
    488498                        $loopNum = 0; 
    489499                        foreach ($radio_options as $one_radio_option_key => $one_radio_option_val) { 
     
    504514                            echo "</div>"; 
    505515                             
     516                             
    506517                            $loopNum++; 
    507518                        } 
     519 
     520 
     521                        echo "</div>"; 
    508522         
    509523                    } elseif ("dropdown" == $field["type"]) { 
     524 
     525                        echo "<div class='simple-fields-metabox-field-first'>"; 
    510526                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    511                         echo $description; 
     527                        echo "</div>"; 
     528 
     529                        echo "<div class='simple-fields-metabox-field-second'>"; 
    512530                        echo "<select id='$field_unique_id' name='$field_name'>"; 
    513531                        foreach ($field["type_dropdown_options"] as $one_option_internal_name => $one_option) { 
     
    522540                        } 
    523541                        echo "</select>"; 
     542                        echo $description; 
     543                        echo "</div>"; 
    524544     
    525545                    } elseif ("file" == $field["type"]) { 
     
    545565                        } 
    546566                        echo "<div class='simple-fields-metabox-field-file $class'>"; 
     567 
     568                            echo "<div class='simple-fields-metabox-field-first'>"; 
    547569                            echo "<label>{$field["name"]}</label>"; 
    548                             echo $description; 
     570                            echo "</div>"; 
     571 
     572                            echo "<div class='simple-fields-metabox-field-second'>"; 
     573 
    549574                            echo "<div class='simple-fields-metabox-field-file-col1'>"; 
    550575                                echo "<div class='simple-fields-metabox-field-file-selected-image'>$image_html</div>"; 
     
    565590                                 
    566591                            echo "</div>"; 
     592 
     593                            echo $description; 
     594 
     595                            echo "</div>"; // second 
     596 
    567597                        echo "</div>"; 
    568598     
     
    604634                        } 
    605635                         
     636                        echo "<div class='simple-fields-metabox-field-first'>"; 
    606637                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    607                         echo $description; 
     638                        echo "</div>"; 
     639 
     640                        echo "<div class='simple-fields-metabox-field-second'>"; 
    608641     
    609642                        if (isset($textarea_options["use_html_editor"])) { 
     
    632665                            echo "</div>"; 
    633666                        } 
     667                         
     668                        echo $description; 
     669 
     670                        echo "</div>"; 
    634671         
    635672                    } elseif ("text" == $field["type"]) { 
    636673         
    637674                        $text_value_esc = esc_html($saved_value); 
     675                        echo "<div class='simple-fields-metabox-field-first'>"; 
    638676                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     677                        echo "</div>"; 
     678                        echo "<div class='simple-fields-metabox-field-second'>"; 
     679                        echo "<input class='text' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
    639680                        echo $description; 
    640                         echo "<input class='text' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
     681                        echo "</div>"; 
    641682         
    642683                    } elseif ("color" == $field["type"]) { 
    643684                         
    644685                        $text_value_esc = esc_html($saved_value); 
     686                        echo "<div class='simple-fields-metabox-field-first'>"; 
    645687                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     688                        echo "</div>"; 
     689                        echo "<div class='simple-fields-metabox-field-second'>"; 
     690                        echo "<input class='text simple-fields-field-type-color {pickerClosable:true}' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
    646691                        echo $description; 
    647                         echo "<input class='text simple-fields-field-type-color {pickerClosable:true}' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
     692                        echo "</div>"; 
    648693     
    649694                    } elseif ("date" == $field["type"]) { 
     
    653698                         
    654699                        $text_value_esc = esc_html($saved_value); 
     700                        echo "<div class='simple-fields-metabox-field-first'>"; 
    655701                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     702                        echo "</div>"; 
     703                        echo "<div class='simple-fields-metabox-field-second'>"; 
     704                        echo "<input class='text simple-fields-field-type-date' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
    656705                        echo $description; 
    657                         echo "<input class='text simple-fields-field-type-date' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
     706                        echo "</div>"; 
    658707     
    659708                    } elseif ("taxonomy" == $field["type"]) { 
     
    666715                        $text_value_esc = esc_html($saved_value); 
    667716                        // var_dump($saved_value); 
     717                        echo "<div class='simple-fields-metabox-field-first'>"; 
    668718                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    669                         echo $description; 
     719                        echo "</div>"; 
     720 
     721                        echo "<div class='simple-fields-metabox-field-second'>"; 
    670722                         
    671723                        echo "<select name='$field_name'>"; 
     
    679731                        } 
    680732                        echo "</select>"; 
     733 
     734                        echo $description; 
     735 
     736                        echo "</div>"; 
    681737     
    682738     
     
    688744                        // hämta alla terms som finns för taxonomy $enabled_taxonomy 
    689745                        // @todo: kunna skicka in args här, t.ex. för orderby 
    690      
     746                        echo "<div class='simple-fields-metabox-field-first'>"; 
    691747                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     748                        echo "</div>"; 
     749 
     750                        echo "<div class='simple-fields-metabox-field-second'>"; 
     751     
    692752                        echo $description; 
    693      
     753 
    694754                        $arr_selected_cats = (array) $saved_value; 
    695755                         
     
    707767                        echo "</ul>"; 
    708768                         
     769 
     770                        echo "</div>"; 
     771                         
    709772                    } elseif ("post" == $field["type"]) { 
    710773                         
     
    722785                         
    723786                        echo "<div class='simple-fields-metabox-field-post'>"; 
     787 
     788                        echo "<div class='simple-fields-metabox-field-first'>"; 
     789 
    724790                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    725                         echo $description;                   
     791                        echo "</div>"; 
     792 
     793                        echo "<div class='simple-fields-metabox-field-second'>"; 
    726794     
    727795                        echo "<div>"; 
     
    742810                        echo "<input type='hidden' name='additional_arguments' id='additional_arguments' value='".$type_post_options['additional_arguments']."' />"; 
    743811                         
     812                        echo $description; 
     813 
     814                        echo "</div>"; 
     815 
    744816                        echo "</div>"; 
    745817     
     
    748820                        $saved_value_int = (int) $saved_value; 
    749821                     
    750                         echo "<div class='simple-fields-metabox-field-post'>"; 
     822                        #echo "<div class='simple-fields-metabox-field-post'>"; 
    751823                        // echo "<pre>"; print_r($type_post_options); echo "</pre>"; 
     824                        echo "<div class='simple-fields-metabox-field-first'>"; 
    752825                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    753                         echo $description; 
     826                        echo "</div>"; 
     827 
     828                        echo "<div class='simple-fields-metabox-field-second'>"; 
    754829                         
    755830                        // must set orderby or it will not get any users at all. yes. it's that weird. 
     
    781856                        } 
    782857                        echo "</select>"; 
     858 
     859                        echo $description; 
    783860                         
    784861                        echo "</div>"; 
     862                        #echo "</div>"; 
    785863     
    786864     
     
    914992        $field_groups = $this->get_field_groups(); 
    915993        $current_field_group = $field_groups[$post_connector_field_id]; 
     994 
     995        // check for prev. saved fieldgroups 
     996        // _simple_fields_fieldGroupID_1_fieldID_added_numInSet_0 
     997        // try until returns empty 
     998        $num_added_field_groups = 0; 
     999        $num_added_field_groups_css = ""; 
     1000 
     1001        while (get_post_meta($post_id, "_simple_fields_fieldGroupID_{$post_connector_field_id}_fieldID_added_numInSet_{$num_added_field_groups}", true)) { 
     1002            $num_added_field_groups++; 
     1003            $num_added_field_groups_css = "simple-fields-meta-box-field-group-wrapper-has-fields-added"; 
     1004        } 
     1005 
    9161006      
    917         echo "<div class='simple-fields-meta-box-field-group-wrapper'>"; 
     1007        echo "<div class='simple-fields-meta-box-field-group-wrapper $num_added_field_groups_css'>"; 
    9181008        echo "<input type='hidden' name='simple-fields-meta-box-field-group-id' value='$post_connector_field_id' />"; 
    9191009      
     
    9251015      
    9261016        if ($current_field_group["repeatable"]) { 
    927       
     1017 
     1018            // add link at top    
    9281019            echo " 
    9291020                <div class='simple-fields-metabox-field-add'> 
     
    9331024            echo "<ul class='simple-fields-metabox-field-group-fields simple-fields-metabox-field-group-fields-repeatable'>"; 
    9341025      
    935             // check for prev. saved fieldgroups 
    936             // _simple_fields_fieldGroupID_1_fieldID_added_numInSet_0 
    937             // try until returns empty 
    938             $num_added_field_groups = 0; 
    939       
    940             while (get_post_meta($post_id, "_simple_fields_fieldGroupID_{$post_connector_field_id}_fieldID_added_numInSet_{$num_added_field_groups}", true)) { 
    941                 $num_added_field_groups++; 
    942             } 
    9431026            //var_dump( get_post_meta($post_id, "_simple_fields_fieldGroupID_{$post_connector_field_id}_fieldID_added_numInSet_0", true) ); 
    9441027            //echo "num_added_field_groups: $num_added_field_groups"; 
     
    9501033      
    9511034            echo "</ul>"; 
     1035 
     1036            // add link at bottom 
     1037            echo " 
     1038                <div class='simple-fields-metabox-field-add simple-fields-metabox-field-add-bottom'> 
     1039                    <a href='#'>+ ".__('Add', 'simple-fields')."</a> 
     1040                </div> 
     1041            "; 
     1042 
    9521043      
    9531044        } else { 
  • simple-fields/tags/1.0.4/styles.css

    r614081 r615285  
    265265.simple-fields-metabox-field-add 
    266266 { 
    267     margin-top: .5em; 
    268     margin-bottom: .5em; 
     267    margin-top: 1em; 
     268    margin-bottom: 1em; 
    269269    margin-right: 11px; 
    270270} 
    271271 
     272.simple-fields-metabox-field-add-bottom { 
     273    display: none; 
     274} 
     275.simple-fields-meta-box-field-group-wrapper-has-fields-added .simple-fields-metabox-field-add-bottom { 
     276    display: block; 
     277} 
     278 
    272279.simple-fields-metabox-field label { 
    273     font-weight: bold; 
    274     display: block; 
     280    /*font-weight: bold; 
     281    display: block;*/ 
    275282} 
    276283.simple-fields-metabox-field .simple-fields-for-radiobutton, 
     
    287294    position: relative; 
    288295} 
     296 
    289297ul.simple-fields-metabox-field-group-fields-repeatable li { 
    290298    margin-top: 1em; 
     
    311319    display: none; 
    312320} 
    313 ul.simple-fields-metabox-field-group-fields-repeatable .simple-fields-metabox-field-group-handle { 
     321.simple-fields-metabox-field-group-fields-repeatable .simple-fields-metabox-field-group-handle { 
    314322    display: block; 
    315323    margin-left: -16px; 
    316 } 
     324    margin-top: 10px; 
     325    opacity: 0; 
     326} 
     327 
     328.simple-fields-metabox-field-group:hover .simple-fields-metabox-field-group-handle { 
     329    opacity: 1; 
     330} 
     331 
    317332.simple-fields-metabox-field-group input.text { 
    318333    border: 1px solid #dfdfdf; 
     
    356371} 
    357372 
     373 
     374/* try to tighten the output */ 
     375.simple-fields-metabox-field { 
     376    overflow: auto; 
     377} 
     378.simple-fields-metabox-field, 
     379.simple-fields-metabox-field * { 
     380} 
     381.simple-fields-metabox-field-first { 
     382    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
     383    /*display: inline-block;*/ 
     384    float: left; 
     385    width: 17%; 
     386    padding-right: 1em; 
     387    min-height: 1px; 
     388    /*border: 1px solid red; 
     389    background-color: lightyellow;*/ 
     390} 
     391.simple-fields-metabox-field-second { 
     392    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
     393    float: left; 
     394    width: 83%; 
     395    position: relative; 
     396} 
     397 
     398/* when field group is in sidebar then put labels at top */ 
     399#side-sortables .simple-fields-metabox-field-first { 
     400    float: none; 
     401    width: auto; 
     402} 
     403#side-sortables .simple-fields-metabox-field-second { 
     404    width: 90%; 
     405} 
     406#side-sortables ul.simple-fields-metabox-field-group-fields-repeatable li { 
     407    padding: .25em .5em; 
     408} 
     409#side-sortables .simple-fields-metabox-field, .simple-fields-metabox-field-add { 
     410    margin-right: 0; 
     411} 
     412#side-sortables .simple-fields-metabox-field-with-description { 
     413    height: 83px; 
     414} 
     415 
     416 
     417 
    358418.simple_fields_editor_switch { 
    359419    display: inline; 
     
    414474 
    415475.simple-fields-metabox-field-file { 
    416     height: 64px; 
     476    height: 50px; 
    417477} 
    418478.simple-fields-metabox-field-with-description { 
    419     height: 85px; 
     479    height: 70px; 
     480} 
     481.simple-fields-metabox-field-with-description .simple-fields-metabox-field-description { 
     482    position: absolute; 
     483    left: 0; 
     484    top: 50px; 
    420485} 
    421486 
     
    502567 
    503568.simple-fields-metabox-field-taxonomymeta-terms { 
    504     height: 100px; 
     569    max-height: 100px; 
    505570    overflow: auto; 
    506571    margin-top: 5px; 
    507572} 
    508 .simple-fields-metabox-field-taxonomymeta-terms li { 
     573 
     574ul.simple-fields-metabox-field-group-fields-repeatable .simple-fields-metabox-field-taxonomymeta-terms li { 
    509575    line-height: 1; 
    510 } 
     576    background-image: none; 
     577    border: none; 
     578    margin-left: 0; 
     579    padding-left: 0; 
     580} 
     581 
    511582.simple-fields-metabox-field-taxonomymeta-terms ul.children { 
    512583    margin-left: 18px; 
  • simple-fields/trunk/field_types/field_divider.php

    r614081 r615285  
    2020        } 
    2121         
     22        /** 
     23         *  Output CSS in admin head 
     24         */ 
    2225        function action_admin_head() { 
    2326            ?> 
     
    2831 
    2932                .simple-fields-fieldgroups-field-type-divider-line { 
    30                     margin: 2em 0; 
     33                    margin: 1em 0; 
    3134                    border: 0; 
    3235                    border-top: 1px solid #DFDFDF; 
     
    3740                 
    3841                .simple-fields-fieldgroups-field-type-divider-white_space { 
    39                     height: 2em; 
     42                    height: 1em; 
    4043                } 
    4144            </style> 
  • simple-fields/trunk/readme.txt

    r614081 r615285  
    55Requires at least: 3.3.1 
    66Tested up to: 3.4.2 
    7 Stable tag: 1.0.3 
     7Stable tag: 1.0.4 
    88 
    99Add more advanced custom fields types to your edit post page. Field can be of several types, including textarea, checkbox, radio buttons, files and color picker. 
     
    165165== Changelog == 
    166166 
     167#### Version 1.0.4 
     168- Added: Add button added to bottom of the added field groups. Will be visible when more than 1 field group is added. 
     169- Changed: moved to a two column mode/appearance. Makes the fields take upp less space, and making it more clutter free. 
     170- Changed: minor CSS fixes here and there 
     171 
    167172#### Version 1.0.3 
    168173- Added: Added options for returning values as "Extended Return Values".  
     
    175180- Added: new field type: divider. Useful if you have a field group with many fields. By adding the divider field to a field group it simply created a shite space or a space with a line. It's written using the new Extension API btw, so feel free to check out the source if you want to create something similar yourself. 
    176181- Changed: The debug output also includes example on how to get all field in a field group at once. 
     182- Changed: The edit field group admin page now is a bit more compact. Makes easier to get an overview of all the added fields. 
    177183 
    178184#### Version 1.0.2 
  • simple-fields/trunk/scripts.js

    r614081 r615285  
    2020    // add new field to the field group 
    2121    function simple_fields_field_group_add_field() { 
     22 
    2223        simple_fields_highest_field_id++; 
     24 
    2325        var data = { 
    2426            action: 'simple_fields_field_group_add_field', 
    2527            simple_fields_highest_field_id: simple_fields_highest_field_id 
    2628        }; 
     29 
    2730        $.post(ajaxurl, data, function(response) { 
    2831            var ul = $("#simple-fields-field-group-existing-fields ul:first"); 
     
    3033            ul.append($response); 
    3134            ul.find(".simple-fields-field-group-one-field:last").effect("highlight").find(".simple-fields-field-group-one-field-name").focus(); 
    32             //$response.effect("highlight").find(".simple-fields-field-group-one-field-name").focus(); 
    33         }); 
     35        }); 
     36 
    3437    } 
    3538     
     
    257260    // - num in (new) set 
    258261    var simple_fields_new_fields_count = 0; 
    259     $(".simple-fields-metabox-field-add").live("click", function() { 
     262    $(".simple-fields-metabox-field-add").live("click", function(e) { 
    260263 
    261264        var $t = $(this); 
    262         //var $a = $(this).find("a"); 
     265         
    263266        $t.text(sfstrings.adding); 
    264267        var $wrapper = $(this).parents(".simple-fields-meta-box-field-group-wrapper"); 
     
    272275            "post_id": post_id 
    273276        }; 
     277 
     278        var is_link_at_bottom = $t.hasClass("simple-fields-metabox-field-add-bottom"); 
    274279     
    275280        $.post(ajaxurl, data, function(response) { 
     
    278283            $response = $(response); 
    279284            $response.hide(); 
    280             $ul.prepend($response); 
     285            if (is_link_at_bottom) { 
     286                $ul.append($response); 
     287            } else { 
     288                $ul.prepend($response); 
     289            } 
     290 
     291            var wrapper = $ul.closest(".simple-fields-meta-box-field-group-wrapper"); 
     292            // var lis = $ul.find(">li"); 
     293 
    281294            $response.slideDown("slow", function() { 
    282295                 
     
    293306                $(document.body).trigger("field_group_added", $response); 
    294307            }); 
     308 
    295309            $t.html("<a href='#'>+ "+sfstrings.add+"</a>"); 
     310            //wrapper.find(".simple-fields-metabox-field-add-bottom").show(); 
     311            wrapper.addClass("simple-fields-meta-box-field-group-wrapper-has-fields-added"); 
    296312 
    297313        }); 
     
    332348        if (confirm(sfstrings.confirmRemoveGroup)) { 
    333349            var li = $(this).closest("li"); 
    334             li.hide("slow", function() { li.remove(); }); 
     350            li.hide("slow", function() { 
     351 
     352                var wrapper = li.closest("div.simple-fields-meta-box-field-group-wrapper"); 
     353                var ul = li.closest("ul.simple-fields-metabox-field-group-fields"); 
     354                li.remove(); 
     355                 
     356                // If removed last fieldgroup, hide the add link 
     357                if (ul.find(">li").length === 0) { 
     358                    //wrapper.find("div.simple-fields-metabox-field-add-bottom").hide("slow"); 
     359                    wrapper.removeClass("simple-fields-meta-box-field-group-wrapper-has-fields-added"); 
     360                } else { 
     361                    wrapper.addClass("simple-fields-meta-box-field-group-wrapper-has-fields-added"); 
     362                } 
     363 
     364            }); 
     365 
    335366        } 
    336367        return false; 
  • simple-fields/trunk/simple_fields.php

    r614081 r615285  
    44Plugin URI: http://simple-fields.com 
    55Description: Add groups of textareas, input-fields, dropdowns, radiobuttons, checkboxes and files to your edit post screen. 
    6 Version: 1.0.3 
     6Version: 1.0.4 
    77Author: Pär Thernström 
    88Author URI: http://eskapism.se/ 
     
    5252        define( "SIMPLE_FIELDS_URL", plugins_url(basename(dirname(__FILE__))). "/"); 
    5353        define( "SIMPLE_FIELDS_NAME", "Simple Fields"); 
    54         define( "SIMPLE_FIELDS_VERSION", "1.0.3"); 
     54        define( "SIMPLE_FIELDS_VERSION", "1.0.4"); 
    5555 
    5656        load_plugin_textdomain( 'simple-fields', null, basename(dirname(__FILE__)).'/languages/'); 
     
    422422            <?php // must use this "added"-thingie do be able to track added field group that has no added values (like unchecked checkboxes, that we can't detect ?> 
    423423            <input type="hidden" name="simple_fields_fieldgroups[<?php echo $field_group_id ?>][added][<?php echo $num_in_set ?>]" value="1" /> 
    424              
    425424            <div class="simple-fields-metabox-field-group-handle"></div> 
    426425            <?php 
     
    429428                ?><div class="hidden simple-fields-metabox-field-group-delete"><a href="#" title="<?php _e('Remove field group', 'simple-fields') ?>"></a></div><?php 
    430429            } 
    431             ?> 
    432             <?php 
    433430             
    434431            // Output content for each field in this fieldgroup 
    435432            // LI = fieldgroup 
    436433            // DIV = field 
    437  
    438434            foreach ($current_field_group["fields"] as $field) { 
    439435             
     
    454450                } 
    455451                 
     452                // div that wraps around each outputed field 
     453                // Output will be similar to this 
     454                // <div class="simple-fields-metabox-field simple-fields-fieldgroups-field-1-1 simple-fields-fieldgroups-field-type-text" data-fieldgroup_id="1" data-field_id="1" data-num_in_set="0"> 
    456455                ?> 
    457456                <div class="simple-fields-metabox-field <?php echo $field_class ?>"  
     
    461460                    > 
    462461                    <?php 
     462 
    463463                    // different output depending on field type 
    464464                    if ("checkbox" == $field["type"]) { 
     
    475475                            $str_checked = ""; 
    476476                        } 
     477 
     478                        echo "<div class='simple-fields-metabox-field-first'>"; 
     479                        echo "</div>"; 
     480                        echo "<div class='simple-fields-metabox-field-second'>"; 
    477481                        echo "<input $str_checked id='$field_unique_id' type='checkbox' name='$field_name' value='1' />"; 
    478482                        echo "<label class='simple-fields-for-checkbox' for='$field_unique_id'> " . $field["name"] . "</label>"; 
    479483                        echo $description; 
     484                        echo "</div>"; 
    480485         
    481486                    } elseif ("radiobuttons" == $field["type"]) { 
    482487         
     488                        echo "<div class='simple-fields-metabox-field-first'>"; 
    483489                        echo "<label>" . $field["name"] . "</label>"; 
    484                         echo $description; 
     490                        echo "</div>"; 
     491 
     492                        echo "<div class='simple-fields-metabox-field-second'>"; 
    485493                        $radio_options = $field["type_radiobuttons_options"]; 
    486494                        $radio_checked_by_default_num = @$radio_options["checked_by_default_num"]; 
    487495     
     496                        echo $description; 
     497 
    488498                        $loopNum = 0; 
    489499                        foreach ($radio_options as $one_radio_option_key => $one_radio_option_val) { 
     
    504514                            echo "</div>"; 
    505515                             
     516                             
    506517                            $loopNum++; 
    507518                        } 
     519 
     520 
     521                        echo "</div>"; 
    508522         
    509523                    } elseif ("dropdown" == $field["type"]) { 
     524 
     525                        echo "<div class='simple-fields-metabox-field-first'>"; 
    510526                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    511                         echo $description; 
     527                        echo "</div>"; 
     528 
     529                        echo "<div class='simple-fields-metabox-field-second'>"; 
    512530                        echo "<select id='$field_unique_id' name='$field_name'>"; 
    513531                        foreach ($field["type_dropdown_options"] as $one_option_internal_name => $one_option) { 
     
    522540                        } 
    523541                        echo "</select>"; 
     542                        echo $description; 
     543                        echo "</div>"; 
    524544     
    525545                    } elseif ("file" == $field["type"]) { 
     
    545565                        } 
    546566                        echo "<div class='simple-fields-metabox-field-file $class'>"; 
     567 
     568                            echo "<div class='simple-fields-metabox-field-first'>"; 
    547569                            echo "<label>{$field["name"]}</label>"; 
    548                             echo $description; 
     570                            echo "</div>"; 
     571 
     572                            echo "<div class='simple-fields-metabox-field-second'>"; 
     573 
    549574                            echo "<div class='simple-fields-metabox-field-file-col1'>"; 
    550575                                echo "<div class='simple-fields-metabox-field-file-selected-image'>$image_html</div>"; 
     
    565590                                 
    566591                            echo "</div>"; 
     592 
     593                            echo $description; 
     594 
     595                            echo "</div>"; // second 
     596 
    567597                        echo "</div>"; 
    568598     
     
    604634                        } 
    605635                         
     636                        echo "<div class='simple-fields-metabox-field-first'>"; 
    606637                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    607                         echo $description; 
     638                        echo "</div>"; 
     639 
     640                        echo "<div class='simple-fields-metabox-field-second'>"; 
    608641     
    609642                        if (isset($textarea_options["use_html_editor"])) { 
     
    632665                            echo "</div>"; 
    633666                        } 
     667                         
     668                        echo $description; 
     669 
     670                        echo "</div>"; 
    634671         
    635672                    } elseif ("text" == $field["type"]) { 
    636673         
    637674                        $text_value_esc = esc_html($saved_value); 
     675                        echo "<div class='simple-fields-metabox-field-first'>"; 
    638676                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     677                        echo "</div>"; 
     678                        echo "<div class='simple-fields-metabox-field-second'>"; 
     679                        echo "<input class='text' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
    639680                        echo $description; 
    640                         echo "<input class='text' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
     681                        echo "</div>"; 
    641682         
    642683                    } elseif ("color" == $field["type"]) { 
    643684                         
    644685                        $text_value_esc = esc_html($saved_value); 
     686                        echo "<div class='simple-fields-metabox-field-first'>"; 
    645687                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     688                        echo "</div>"; 
     689                        echo "<div class='simple-fields-metabox-field-second'>"; 
     690                        echo "<input class='text simple-fields-field-type-color {pickerClosable:true}' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
    646691                        echo $description; 
    647                         echo "<input class='text simple-fields-field-type-color {pickerClosable:true}' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
     692                        echo "</div>"; 
    648693     
    649694                    } elseif ("date" == $field["type"]) { 
     
    653698                         
    654699                        $text_value_esc = esc_html($saved_value); 
     700                        echo "<div class='simple-fields-metabox-field-first'>"; 
    655701                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     702                        echo "</div>"; 
     703                        echo "<div class='simple-fields-metabox-field-second'>"; 
     704                        echo "<input class='text simple-fields-field-type-date' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
    656705                        echo $description; 
    657                         echo "<input class='text simple-fields-field-type-date' name='$field_name' id='$field_unique_id' value='$text_value_esc' />"; 
     706                        echo "</div>"; 
    658707     
    659708                    } elseif ("taxonomy" == $field["type"]) { 
     
    666715                        $text_value_esc = esc_html($saved_value); 
    667716                        // var_dump($saved_value); 
     717                        echo "<div class='simple-fields-metabox-field-first'>"; 
    668718                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    669                         echo $description; 
     719                        echo "</div>"; 
     720 
     721                        echo "<div class='simple-fields-metabox-field-second'>"; 
    670722                         
    671723                        echo "<select name='$field_name'>"; 
     
    679731                        } 
    680732                        echo "</select>"; 
     733 
     734                        echo $description; 
     735 
     736                        echo "</div>"; 
    681737     
    682738     
     
    688744                        // hämta alla terms som finns för taxonomy $enabled_taxonomy 
    689745                        // @todo: kunna skicka in args här, t.ex. för orderby 
    690      
     746                        echo "<div class='simple-fields-metabox-field-first'>"; 
    691747                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
     748                        echo "</div>"; 
     749 
     750                        echo "<div class='simple-fields-metabox-field-second'>"; 
     751     
    692752                        echo $description; 
    693      
     753 
    694754                        $arr_selected_cats = (array) $saved_value; 
    695755                         
     
    707767                        echo "</ul>"; 
    708768                         
     769 
     770                        echo "</div>"; 
     771                         
    709772                    } elseif ("post" == $field["type"]) { 
    710773                         
     
    722785                         
    723786                        echo "<div class='simple-fields-metabox-field-post'>"; 
     787 
     788                        echo "<div class='simple-fields-metabox-field-first'>"; 
     789 
    724790                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    725                         echo $description;                   
     791                        echo "</div>"; 
     792 
     793                        echo "<div class='simple-fields-metabox-field-second'>"; 
    726794     
    727795                        echo "<div>"; 
     
    742810                        echo "<input type='hidden' name='additional_arguments' id='additional_arguments' value='".$type_post_options['additional_arguments']."' />"; 
    743811                         
     812                        echo $description; 
     813 
     814                        echo "</div>"; 
     815 
    744816                        echo "</div>"; 
    745817     
     
    748820                        $saved_value_int = (int) $saved_value; 
    749821                     
    750                         echo "<div class='simple-fields-metabox-field-post'>"; 
     822                        #echo "<div class='simple-fields-metabox-field-post'>"; 
    751823                        // echo "<pre>"; print_r($type_post_options); echo "</pre>"; 
     824                        echo "<div class='simple-fields-metabox-field-first'>"; 
    752825                        echo "<label for='$field_unique_id'> " . $field["name"] . "</label>"; 
    753                         echo $description; 
     826                        echo "</div>"; 
     827 
     828                        echo "<div class='simple-fields-metabox-field-second'>"; 
    754829                         
    755830                        // must set orderby or it will not get any users at all. yes. it's that weird. 
     
    781856                        } 
    782857                        echo "</select>"; 
     858 
     859                        echo $description; 
    783860                         
    784861                        echo "</div>"; 
     862                        #echo "</div>"; 
    785863     
    786864     
     
    914992        $field_groups = $this->get_field_groups(); 
    915993        $current_field_group = $field_groups[$post_connector_field_id]; 
     994 
     995        // check for prev. saved fieldgroups 
     996        // _simple_fields_fieldGroupID_1_fieldID_added_numInSet_0 
     997        // try until returns empty 
     998        $num_added_field_groups = 0; 
     999        $num_added_field_groups_css = ""; 
     1000 
     1001        while (get_post_meta($post_id, "_simple_fields_fieldGroupID_{$post_connector_field_id}_fieldID_added_numInSet_{$num_added_field_groups}", true)) { 
     1002            $num_added_field_groups++; 
     1003            $num_added_field_groups_css = "simple-fields-meta-box-field-group-wrapper-has-fields-added"; 
     1004        } 
     1005 
    9161006      
    917         echo "<div class='simple-fields-meta-box-field-group-wrapper'>"; 
     1007        echo "<div class='simple-fields-meta-box-field-group-wrapper $num_added_field_groups_css'>"; 
    9181008        echo "<input type='hidden' name='simple-fields-meta-box-field-group-id' value='$post_connector_field_id' />"; 
    9191009      
     
    9251015      
    9261016        if ($current_field_group["repeatable"]) { 
    927       
     1017 
     1018            // add link at top    
    9281019            echo " 
    9291020                <div class='simple-fields-metabox-field-add'> 
     
    9331024            echo "<ul class='simple-fields-metabox-field-group-fields simple-fields-metabox-field-group-fields-repeatable'>"; 
    9341025      
    935             // check for prev. saved fieldgroups 
    936             // _simple_fields_fieldGroupID_1_fieldID_added_numInSet_0 
    937             // try until returns empty 
    938             $num_added_field_groups = 0; 
    939       
    940             while (get_post_meta($post_id, "_simple_fields_fieldGroupID_{$post_connector_field_id}_fieldID_added_numInSet_{$num_added_field_groups}", true)) { 
    941                 $num_added_field_groups++; 
    942             } 
    9431026            //var_dump( get_post_meta($post_id, "_simple_fields_fieldGroupID_{$post_connector_field_id}_fieldID_added_numInSet_0", true) ); 
    9441027            //echo "num_added_field_groups: $num_added_field_groups"; 
     
    9501033      
    9511034            echo "</ul>"; 
     1035 
     1036            // add link at bottom 
     1037            echo " 
     1038                <div class='simple-fields-metabox-field-add simple-fields-metabox-field-add-bottom'> 
     1039                    <a href='#'>+ ".__('Add', 'simple-fields')."</a> 
     1040                </div> 
     1041            "; 
     1042 
    9521043      
    9531044        } else { 
  • simple-fields/trunk/styles.css

    r614081 r615285  
    265265.simple-fields-metabox-field-add 
    266266 { 
    267     margin-top: .5em; 
    268     margin-bottom: .5em; 
     267    margin-top: 1em; 
     268    margin-bottom: 1em; 
    269269    margin-right: 11px; 
    270270} 
    271271 
     272.simple-fields-metabox-field-add-bottom { 
     273    display: none; 
     274} 
     275.simple-fields-meta-box-field-group-wrapper-has-fields-added .simple-fields-metabox-field-add-bottom { 
     276    display: block; 
     277} 
     278 
    272279.simple-fields-metabox-field label { 
    273     font-weight: bold; 
    274     display: block; 
     280    /*font-weight: bold; 
     281    display: block;*/ 
    275282} 
    276283.simple-fields-metabox-field .simple-fields-for-radiobutton, 
     
    287294    position: relative; 
    288295} 
     296 
    289297ul.simple-fields-metabox-field-group-fields-repeatable li { 
    290298    margin-top: 1em; 
     
    311319    display: none; 
    312320} 
    313 ul.simple-fields-metabox-field-group-fields-repeatable .simple-fields-metabox-field-group-handle { 
     321.simple-fields-metabox-field-group-fields-repeatable .simple-fields-metabox-field-group-handle { 
    314322    display: block; 
    315323    margin-left: -16px; 
    316 } 
     324    margin-top: 10px; 
     325    opacity: 0; 
     326} 
     327 
     328.simple-fields-metabox-field-group:hover .simple-fields-metabox-field-group-handle { 
     329    opacity: 1; 
     330} 
     331 
    317332.simple-fields-metabox-field-group input.text { 
    318333    border: 1px solid #dfdfdf; 
     
    356371} 
    357372 
     373 
     374/* try to tighten the output */ 
     375.simple-fields-metabox-field { 
     376    overflow: auto; 
     377} 
     378.simple-fields-metabox-field, 
     379.simple-fields-metabox-field * { 
     380} 
     381.simple-fields-metabox-field-first { 
     382    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
     383    /*display: inline-block;*/ 
     384    float: left; 
     385    width: 17%; 
     386    padding-right: 1em; 
     387    min-height: 1px; 
     388    /*border: 1px solid red; 
     389    background-color: lightyellow;*/ 
     390} 
     391.simple-fields-metabox-field-second { 
     392    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 
     393    float: left; 
     394    width: 83%; 
     395    position: relative; 
     396} 
     397 
     398/* when field group is in sidebar then put labels at top */ 
     399#side-sortables .simple-fields-metabox-field-first { 
     400    float: none; 
     401    width: auto; 
     402} 
     403#side-sortables .simple-fields-metabox-field-second { 
     404    width: 90%; 
     405} 
     406#side-sortables ul.simple-fields-metabox-field-group-fields-repeatable li { 
     407    padding: .25em .5em; 
     408} 
     409#side-sortables .simple-fields-metabox-field, .simple-fields-metabox-field-add { 
     410    margin-right: 0; 
     411} 
     412#side-sortables .simple-fields-metabox-field-with-description { 
     413    height: 83px; 
     414} 
     415 
     416 
     417 
    358418.simple_fields_editor_switch { 
    359419    display: inline; 
     
    414474 
    415475.simple-fields-metabox-field-file { 
    416     height: 64px; 
     476    height: 50px; 
    417477} 
    418478.simple-fields-metabox-field-with-description { 
    419     height: 85px; 
     479    height: 70px; 
     480} 
     481.simple-fields-metabox-field-with-description .simple-fields-metabox-field-description { 
     482    position: absolute; 
     483    left: 0; 
     484    top: 50px; 
    420485} 
    421486 
     
    502567 
    503568.simple-fields-metabox-field-taxonomymeta-terms { 
    504     height: 100px; 
     569    max-height: 100px; 
    505570    overflow: auto; 
    506571    margin-top: 5px; 
    507572} 
    508 .simple-fields-metabox-field-taxonomymeta-terms li { 
     573 
     574ul.simple-fields-metabox-field-group-fields-repeatable .simple-fields-metabox-field-taxonomymeta-terms li { 
    509575    line-height: 1; 
    510 } 
     576    background-image: none; 
     577    border: none; 
     578    margin-left: 0; 
     579    padding-left: 0; 
     580} 
     581 
    511582.simple-fields-metabox-field-taxonomymeta-terms ul.children { 
    512583    margin-left: 18px; 
Note: See TracChangeset for help on using the changeset viewer.