WordPress.org

Plugin Directory

Changeset 947829


Ignore:
Timestamp:
07/13/14 17:22:55 (3 years ago)
Author:
Atomicsmash
Message:

Updated for ACF5

Location:
advanced-custom-fields-limiter-field/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • advanced-custom-fields-limiter-field/trunk/acf-limiter.php

    r772260 r947829  
    44Plugin URI: http://wordpress.org/extend/plugins/advanced-custom-fields-limiter-field/ 
    55Description: This field provides a textarea that limits the number of characters the a user can add. The limit is cleanly represented by a jQuery Ui progress bar. You can define the number of characters on a per field basis. 
    6 Version: 1.0.6 
     6Version: 1.1.0 
    77Author: Atomic Smash - David Darke 
    88Author URI: atomicsmash.co.uk 
     
    1111*/ 
    1212 
    13  
    14 class acf_field_limiter_plugin{ 
    15     /* 
    16     *  Construct 
    17     * 
    18     *  @description:  
    19     *  @since: 3.6 
    20     *  @created: 1/04/13 
    21     */ 
    22      
    23     function __construct() 
    24     { 
    25         // set text domain 
    26         /* 
    27         $domain = 'acf-limiter'; 
    28         $mofile = trailingslashit(dirname(__File__)) . 'lang/' . $domain . '-' . get_locale() . '.mo'; 
    29         load_textdomain( $domain, $mofile ); 
    30         */ 
    3113         
    3214         
    33         // version 4+ 
    34         add_action('acf/register_fields', array($this, 'register_fields'));  
     15function include_field_types_Gravity_Forms( $version ) { 
    3516 
    36         add_action( 'init', array( $this, 'init' )); 
     17  include_once('limiter-v5.php'); 
    3718 
    38     } 
    39      
    40      
    41     function init() 
    42     { 
    43         if(function_exists('register_field')) 
    44         {  
    45             //echo("s"); 
    46             register_field('acf_field_limiter', dirname(__File__) . '/limiter-v3.php'); 
    47         } 
    48     } 
    49      
    50     /* 
    51     *  register_fields 
    52     * 
    53     *  @description:  
    54     *  @since: 3.6 
    55     *  @created: 1/04/13 
    56     */ 
    57      
    58     function register_fields() 
    59     { 
    60         include_once('limiter-v4.php'); 
    61     } 
    62      
    6319} 
    6420 
    65 new acf_field_limiter_plugin(); 
     21add_action('acf/include_field_types', 'include_field_types_gravity_forms');  
     22 
     23 
     24function register_fields_Gravity_Forms() { 
     25  include_once('limiter-v4.php'); 
     26} 
     27 
     28add_action('acf/register_fields', 'register_fields_gravity_forms'); 
    6629         
    6730?> 
  • advanced-custom-fields-limiter-field/trunk/js/limiter.js

    r702510 r947829  
    11(function($){ 
    2  
    3     /* 
    4     *  acf/setup_fields 
    5     * 
    6     *  This event is triggered when ACF adds any new elements to the DOM.  
    7     * 
    8     *  @type    function 
    9     *  @since   1.0.0 
    10     *  @date    01/01/12 
    11     * 
    12     *  @param   event       e: an event object. This can be ignored 
    13     *  @param   Element     postbox: An element which contains the new HTML 
    14     * 
    15     *  @return  N/A 
    16     */ 
    17      
    18      
    192    function characterLimit(currentField){ 
    203     
    214        progressBar = $(currentField).next(".progressBar"); 
    22          
     5                 
    236        chars = $(currentField)[0].value.length; 
    247         
    258        limit = $(currentField).data('characterlimit'); 
    269         
    27         //console.log(chars); 
    2810        if (chars > limit) { 
    2911            currentField.value = currentField.value.substr(0, limit); 
     
    4325     
    4426    } 
    45  
    46     $(document).live('acf/setup_fields', function(e, postbox){ 
     27     
     28     
     29    function initialize_field( $el ) { 
    4730         
     31        //$el.doStuff(); 
    4832         
    4933        //Setup progress bars of all limiter fields 
    50         $(postbox).find('.limiterField').each(function(){ 
     34 
     35        $($el).find('.limiterField').each(function(){ 
    5136            characterLimit(this); 
    5237        }); 
     38 
    5339         
    5440        //Run characterLimit() when the field is being used 
    55         $(postbox).find('.limiterField').live("keyup focus", function() { 
     41        $($el).find('.limiterField').live("keyup focus", function() { 
    5642            characterLimit(this); 
    5743        }); 
    5844         
    5945     
    60     }); 
     46 
     47         
     48         
     49         
     50         
     51    } 
     52     
     53     
     54    if( typeof acf.add_action !== 'undefined' ) { 
     55     
     56        /* 
     57        *  ready append (ACF5) 
     58        * 
     59        *  These are 2 events which are fired during the page load 
     60        *  ready = on page load similar to $(document).ready() 
     61        *  append = on new DOM elements appended via repeater field 
     62        * 
     63        *  @type    event 
     64        *  @date    20/07/13 
     65        * 
     66        *  @param   $el (jQuery selection) the jQuery element which contains the ACF fields 
     67        *  @return  n/a 
     68        */ 
     69         
     70        acf.add_action('ready append', function( $el ){ 
     71             
     72            // search $el for fields of type 'limiter' 
     73            acf.get_fields({ type : 'limiter'}, $el).each(function(){ 
     74                 
     75                initialize_field( $(this) ); 
     76                 
     77            }); 
     78             
     79        }); 
     80         
     81         
     82    } else { 
     83         
     84         
     85        /* 
     86        *  acf/setup_fields (ACF4) 
     87        * 
     88        *  This event is triggered when ACF adds any new elements to the DOM.  
     89        * 
     90        *  @type    function 
     91        *  @since   1.0.0 
     92        *  @date    01/01/12 
     93        * 
     94        *  @param   event       e: an event object. This can be ignored 
     95        *  @param   Element     postbox: An element which contains the new HTML 
     96        * 
     97        *  @return  n/a 
     98        */ 
     99         
     100        $(document).live('acf/setup_fields', function(e, postbox){ 
     101             
     102            $(postbox).find('.field[data-field_type="limiter"]').each(function(){ 
     103                 
     104                initialize_field( $(this) ); 
     105                 
     106            }); 
     107         
     108        }); 
     109     
     110     
     111    } 
     112 
    61113 
    62114})(jQuery); 
Note: See TracChangeset for help on using the changeset viewer.