Hybrid View

  1. #1
    Sencha User willf1976's Avatar
    Join Date
    May 2009
    Location
    carpinteria, ca
    Posts
    84
    Vote Rating
    0
    willf1976 is on a distinguished road

      0  

    Default Ext.ux.form.PhoneNumFormater

    Ext.ux.form.PhoneNumFormater


    Hi All

    I have been going through the classes we have developed and sharing back with the community some of them that I think will be useful to others. These components have been tested in ext-3.2.1.

    Here is: Ext.ux.form.PhoneNumFormater

    a plug in that formats text that is typed into a phone number field as you type it

    Code:
    /**
     * @author Will Ferrer, Ethan Brooks
     * @copyright (c) 2012, Intellectual Property Private Equity Group
     * @licensee 2012 developed under license for Switchsoft LLC http://www.switchsoft.com a "Direct response telephony company" as part of it's "VOIP Call distribution, ROI analysis platform, call recording, and IVR for inbound and outbound sales" and Run the Business Systems LLC a "Technology development investment group" as part of it's "PHP, Javascript rapid application development framework and MySQL analysis tools"
     * @license licensed under the terms of
     * the Open Source LGPL 3.0 license.  Commercial use is permitted to the extent
     * that the code/component(s) do NOT become part of another Open
    Source or Commercially
     * licensed development library or toolkit without explicit permission.
     * <p>License details: <a href="http://www.gnu.org/licenses/lgpl.html"
     * target="_blank">http://www.gnu.org/licenses/lgpl.html</a></p>
    * We are pretty nice just ask. We want to meet our licensees
    */
    
    /**
     * @class Ext.ux.form.PhoneNumFormater
     * @extends Ext.util.Observable
     * a plug in that formats text that is typed into a phone number field as you type it
     * @param {Object} config The config object
     * @ptype ux-form-phonenumformater
     */
    Ext.ns('Ext.ux.form');
    Ext.ux.form.PhoneNumFormater = function(config){
        Ext.apply(this, config);
        Ext.ux.form.PhoneNumFormater.superclass.constructor.call(this);
    };
    Ext.extend(Ext.ux.form.PhoneNumFormater, Ext.util.Observable, {
        /**
        * @cfg {Boolean} countryCode
        * whether or not to force a leading 1 or other country code.
        * 
        */
        countryCode : 1,
        // @private
        parent : null,
        // @private
        init: function(parent) {
            this.parent = parent;
            this.parent.enableKeyEvents = true;
            this.parent.on('keyup', this.formatNumber, this.parent);
            this.parent.on('afterrender', this.formatNumber, this.parent);
            this.parent.formatNumber = this.formatNumber;
            this.parent.phoneNumFormater = this;
        },
        // @private
        formatNumber : function () {
            var n,
                string,
                returnString='',
                curChar,
                inserts = [
                    '(',
                    null,
                    null,
                    ') ',
                    null,
                    null,
                    '-'
                ];
            
            
            string = this.getValue();
            string = string.replace(/[^\d]/g, '');
            if (string.length>10 || string.charAt(0)==1) {
                inserts.unshift(null);
            }
            for(n=0;n<string.length;n++){
                curChar = string.charAt(n);
                if (!Ext.isEmpty(inserts[n])) {
                    returnString += inserts[n] + curChar;
                } else {
                    returnString += curChar;
                }
            }
            if (!Ext.isEmpty(this.phoneNumFormater.countryCode) && returnString.charAt(0)!=this.phoneNumFormater.countryCode && !Ext.isEmpty(returnString)) {
                returnString = this.phoneNumFormater.countryCode + returnString;    
            }
    
            this.setValue(returnString);
        }
    });
    Ext.preg('ux-form-phonenumformater', Ext.ux.form.PhoneNumFormater);
    Best regards

    Will Ferrer (Run the Business)

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    35,724
    Vote Rating
    752
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    Thanks for the contribution!
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

Thread Participants: 1

Tags for this Thread

film izle

hd film izle

film sitesi

takipci kazanma sitesi

takipci kazanma sitesi

güzel olan herşey

takipci alma sitesi

komik eğlenceli videolar