diff --git a/assets/js/metabox.js b/assets/js/metabox.js index b4e4d94..2895027 100644 --- a/assets/js/metabox.js +++ b/assets/js/metabox.js @@ -554,8 +554,12 @@ var DilazMetaboxScript = new function() { rItems = rListItem.length; rClone.each(function() { - // rItems++ var $this = $(this); + + /* hide so that we can slidedown */ + $this.hide(); + + /* clear all fields */ $this.find('input').val('').attr('name', function(index, name) { return name.replace(/\[([^\]])\]/g, function(fullMatch, n) { return '['+(Number(n) + 1)+']'; @@ -563,20 +567,21 @@ var DilazMetaboxScript = new function() { }); /* if items not-sortable is equal to number of shown items */ - if (nS == rItems) { + if (nS <= rItems) { if (!$this.find('.sort-repeatable').length && sortable == true) { $this.prepend(sorter); } } /* if items not-repeatable is equal to number of shown items */ - if (nR == rItems) { + if (nR == rItems || nR < 1) { if (!$this.find('.repeatable-remove').length && removable == true) { $this.append(remover); } } }); $(rList).append(rClone); + rClone.slideDown(100); }); } @@ -584,9 +589,20 @@ var DilazMetaboxScript = new function() { * remove repeatable field */ $t.removeRepeatableField = function() { - $doc.on('click', '.repeatable-remove', function(e){ + $doc.on('click', '.repeatable-remove', function(e) { e.preventDefault(); - $(this).parent().remove(); + + var $this = $(this), + $parent = $this.parent(); + + /* one item should always remain */ + if ($parent.siblings().length > 0) { + $parent.slideUp(100); + setTimeout(function() { + $parent.remove(); + }, 1000); + } + return false; }); } @@ -596,7 +612,7 @@ var DilazMetaboxScript = new function() { * */ $t.init = function() { - + $t.doWhen(); $t.tabMinHeight(); $t.tabs(); @@ -615,7 +631,7 @@ var DilazMetaboxScript = new function() { $t.repeatableField(); $t.addRepeatableField(); $t.removeRepeatableField(); - + }; } diff --git a/dilaz-metabox.php b/dilaz-metabox.php index 2095c83..9f4cd52 100644 --- a/dilaz-metabox.php +++ b/dilaz-metabox.php @@ -4,7 +4,7 @@ * Plugin URI: http://webdilaz.com/plugins/dilaz-metabox/ * Description: Create custom metaboxes for WordPress themes and plugins. * Author: WebDilaz Team - * Version: 2.4 + * Version: 2.4.1 * Author URI: http://webdilaz.com/ * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt @@ -15,7 +15,7 @@ || || @package Dilaz Metabox || @subpackage Metabox -|| @version 2.4 +|| @version 2.4.1 || @since Dilaz Metabox 2.0 || @author WebDilaz Team, http://webdilaz.com || @copyright Copyright (C) 2017, WebDilaz LTD diff --git a/inc/fields.php b/inc/fields.php index 3e01edd..4b5e1ef 100644 --- a/inc/fields.php +++ b/inc/fields.php @@ -23,7 +23,15 @@ if (!class_exists('DilazMetaboxFields')) { class DilazMetaboxFields { - # Text + /** + * Text + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldText($field) { extract($field); @@ -36,8 +44,15 @@ public static function fieldText($field) { echo $output; } - - # Multiple Text Input + /** + * Multiple Text Input + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldMultiText($field) { extract($field); @@ -73,8 +88,15 @@ public static function fieldMultiText($field) { echo $output; } - - # Password + /** + * Password + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldPassword($field) { extract($field); @@ -87,8 +109,15 @@ public static function fieldPassword($field) { echo $output; } - - # Hidden + /** + * Hidden + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldHidden($field) { extract($field); @@ -102,8 +131,15 @@ public static function fieldHidden($field) { echo $output; } - - # Paragraph + /** + * Paragraph + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldParagraph($field) { extract($field); @@ -117,8 +153,15 @@ public static function fieldParagraph($field) { echo $output; } - - # Code Output + /** + * Code Output + * + * @since 2.3.1 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldCodeOutput($field) { extract($field); @@ -132,8 +175,15 @@ public static function fieldCodeOutput($field) { echo $output; } - - # URL + /** + * URL + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldUrl($field) { extract($field); @@ -146,8 +196,15 @@ public static function fieldUrl($field) { echo $output; } - - # Email + /** + * Email + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldEmail($field) { extract($field); @@ -160,8 +217,15 @@ public static function fieldEmail($field) { echo $output; } - - # Number + /** + * Number + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldNumber($field) { extract($field); @@ -174,8 +238,15 @@ public static function fieldNumber($field) { echo $output; } - - # Repeatable + /** + * Repeatable + * + * @since 2.3 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldRepeatable($field) { extract($field); @@ -211,7 +282,7 @@ public static function fieldRepeatable($field) { } else { $output .= ''; } - $output .= ($not_removable > $i ? '' : $remover).''; + $output .= ($not_removable > $i || $i < 1 ? '' : $remover).''; $i++; } } else { @@ -228,11 +299,11 @@ public static function fieldRepeatable($field) { $output .= ' '; } - $i++; } else { $output .= ''; } - $output .= ($not_removable >= $i ? '' : $remover).''; + $output .= ($not_removable > $i || $i < 1 ? '' : $remover).''; + $i++; } } $output .= ''; @@ -243,8 +314,15 @@ public static function fieldRepeatable($field) { echo $output; } - - # Stepper + /** + * Stepper + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldStepper($field) { extract($field); @@ -260,8 +338,15 @@ public static function fieldStepper($field) { echo $output; } - - # Code + /** + * Code + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldCode($field) { extract($field); @@ -275,8 +360,15 @@ public static function fieldCode($field) { echo $output; } - - # Textarea + /** + * Textarea + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldTextarea($field) { extract($field); @@ -290,8 +382,15 @@ public static function fieldTextarea($field) { echo $output; } - - # Editor + /** + * Editor + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldEditor($field) { extract($field); @@ -311,8 +410,15 @@ public static function fieldEditor($field) { echo $output; } - - # Radio + /** + * Radio + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldRadio($field) { extract($field); @@ -339,8 +445,15 @@ public static function fieldRadio($field) { echo $output; } - - # Checkbox + /** + * Checkbox + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldCheckbox($field) { extract($field); @@ -353,8 +466,15 @@ public static function fieldCheckbox($field) { echo $output; } - - # Multicheckbox + /** + * Multicheckbox + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldMultiCheck($field) { extract($field); @@ -384,8 +504,15 @@ public static function fieldMultiCheck($field) { echo $output; } - - # Select + /** + * Select + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldSelect($field) { extract($field); @@ -407,8 +534,15 @@ public static function fieldSelect($field) { echo $output; } - - # Multielect + /** + * Multielect + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldMultiSelect($field) { extract($field); @@ -431,8 +565,15 @@ public static function fieldMultiSelect($field) { echo $output; } - - # Query select - 'post', 'term', 'user' + /** + * Query select - 'post', 'term', 'user' + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldQuerySelect($field) { extract($field); @@ -491,8 +632,15 @@ public static function fieldQuerySelect($field) { echo $output; } - - # Timezone + /** + * Timezone + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldTimezone($field) { extract($field); @@ -514,8 +662,15 @@ public static function fieldTimezone($field) { echo $output; } - - # Radio image + /** + * Radio image + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldRadioImage($field) { extract($field); @@ -538,8 +693,15 @@ public static function fieldRadioImage($field) { echo $output; } - - # Color + /** + * Color + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldColor($field) { extract($field); @@ -555,8 +717,15 @@ public static function fieldColor($field) { echo $output; } - - # Multiple Colors + /** + * Multiple Colors + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldMultiColor($field) { extract($field); @@ -583,8 +752,15 @@ public static function fieldMultiColor($field) { echo $output; } - - # Date + /** + * Date + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldDate($field) { extract($field); @@ -599,8 +775,15 @@ public static function fieldDate($field) { echo $output; } - - # Date - (From - to) + /** + * Date - (From - to) + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldDateFromTo($field) { extract($field); @@ -645,8 +828,15 @@ public static function fieldDateFromTo($field) { echo $output; } - - # Month + /** + * Month + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldMonth($field) { extract($field); @@ -662,8 +852,15 @@ public static function fieldMonth($field) { } - - # Month - (From - To) + /** + * Month - (From - To) + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldMonthFromTo($field) { extract($field); @@ -708,8 +905,15 @@ public static function fieldMonthFromTo($field) { echo $output; } - - # Time + /** + * Time + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldtime($field) { extract($field); @@ -724,8 +928,15 @@ public static function fieldtime($field) { echo $output; } - - # Time - (From - To) + /** + * Time - (From - To) + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldTimeFromTo($field) { extract($field); @@ -770,8 +981,15 @@ public static function fieldTimeFromTo($field) { echo $output; } - - # Date Time + /** + * Date Time + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldDateTime($field) { extract($field); @@ -786,8 +1004,15 @@ public static function fieldDateTime($field) { echo $output; } - - # Date Time - (From - To) + /** + * Date Time - (From - To) + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldDateTimeFromTo($field) { extract($field); @@ -832,8 +1057,15 @@ public static function fieldDateTimeFromTo($field) { echo $output; } - - # Slider + /** + * Slider + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldSlideRange($field) { extract($field); @@ -855,8 +1087,15 @@ public static function fieldSlideRange($field) { echo $output; } - - # Range + /** + * Range + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldRange($field) { extract($field); @@ -889,8 +1128,15 @@ public static function fieldRange($field) { echo $output; } - - # File Upload + /** + * File Upload + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldUpload($field) { global $post; @@ -983,13 +1229,13 @@ public static function fieldUpload($field) { $attachment_id .'" size="30" rel"" />'; $output .= sizeof($meta) > 1 ? '' : ''; - # get attachment data + /* get attachment data */ $attachment = get_post($attachment_id); - # get file extension + /* get file extension */ $file_ext = pathinfo($attachment->guid, PATHINFO_EXTENSION); - # get file type + /* get file type */ $file_type = wp_ext2type($file_ext); $output .= '
'. $attachment->post_title .'
'; @@ -1045,8 +1291,15 @@ public static function fieldUpload($field) { echo $output; } - - # Buttonset + /** + * Buttonset + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldButtonset($field) { extract($field); @@ -1069,8 +1322,15 @@ public static function fieldButtonset($field) { echo $output; } - - # Switch + /** + * Switch + * + * @since 1.0 + * @access public + * + * @param array $field Field arguments + * @echo html $output + */ public static function fieldSwitch($field) { extract($field); diff --git a/inc/functions.php b/inc/functions.php index b9880ce..155371e 100644 --- a/inc/functions.php +++ b/inc/functions.php @@ -68,7 +68,7 @@ function query_select() { if ($query_type == 'post') { - # The callback is a closure that needs to use the $search from the current scope + /* The callback is a closure that needs to use the $search from the current scope */ add_filter('posts_where', function ($where) use ($search) { $where .= (' AND post_title LIKE "%'. $search .'%"'); return $where; @@ -268,18 +268,18 @@ public static function insert_field($meta_boxes, $metabox_set_id, $before_field_ $metabox_content = self::get_meta_box_content($meta_boxes, $metabox_set_id); - # bail if fileds not found + /* bail if fileds not found */ if (!isset($metabox_content['fields'])) return; $metabox_content_data = $metabox_content['fields']; - # get array key position + /* get array key position */ $key_offset = isset($metabox_content_data) ? self::find_array_key_by_value($metabox_content_data, 'id', $before_field_id) : ''; - # new array after another array has been inserted + /* new array after another array has been inserted */ $new_array_modified = isset($metabox_content_data) ? self::insert_array_adjacent_to_key($metabox_content_data, array($insert_data), $key_offset, $insert_position) : $meta_boxes; - # merge the new array with the entire metabox options array + /* merge the new array with the entire metabox options array */ $new_meta_boxes = $new_array_modified; return $new_meta_boxes; @@ -709,7 +709,7 @@ public static function choice($var) { ); break; - # add custom variables via this hook + /* add custom variables via this hook */ case $var : $output = apply_filters('dilaz_mb_choice_'. $var .'_action'); break;