upgrading MooTools version

Discussion in 'JavaScript' started by cesarcesar, Sep 26, 2008.

  1. #1
    i need to upgrade a script for MoolTools that was built on version Build 86. I need it upgraded to work with v1.2. I have looked on the web for info on build 86, but im not finding much help. Im sure someone firmiliar with MooTools will be able to spot the upgraded functions that are needed. Thanks much in advance.

    This is the script that is need upgrading. Found here, http://www.zed23.com/2007/01/23/mootools-resizingtextarea-component/

    <script type="text/javascript">
    ResizingTextArea = new Class(
    	{
    		iRows: 1,
    		initialize: function(element, options)
    		{
    			this.element = $(element.id);
    			this.element.setStyle('overflow','hidden');
    			this.element.setStyle('overflow-x','auto');
    			this.element.setProperty('wrap','vitual');
    			this.iRows = this.getRows();
    			this.opt = Object.extend(
    				{
    					resizeStep: 1
    				},
    				options || {}
    			);
    			this.resize(this); // Boot up just in case we used an onload
    			this.element.onclick = this.resize.bindAsEventListener(this);
    			this.element.onkeyup = this.resize.bindAsEventListener(this);
    		},
    		getRows: function()
    		{
    			return Math.max(this.element.getProperty('rows'), 10)
    		},
    		resize: function()
    		{
    			var lines = this.element.getValue().split('\n');
    			var newRows = lines.length + this.opt.resizeStep;
    			var oldRows = this.iRows;
    			var cols = this.element.getProperty('cols');
    			for (var i = 0; i < lines.length; i++)
    			{
    				var line = lines[i];
    				if (line.length >= cols) newRows += Math.floor(line.length / cols);	
    			}
    			if (newRows > this.element.rows) this.element.setProperty('rows', newRows);
    			if (newRows < this.element.rows) this.element.setProperty('rows', Math.max(this.iRows, newRows));
    		}
    	}
    );
    
    window.onload = function()
    {
    	$A(document.getElementsByTagName('textarea')).each(
    		function(el)
    		{
    			el.onfocus = new ResizingTextArea(el);
    		}
    	);
    }
    </script>
    
    Code (markup):
     
    cesarcesar, Sep 26, 2008 IP
  2. cesarcesar

    cesarcesar Peon

    Messages:
    188
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #2
    cesarcesar, Sep 26, 2008 IP
  3. dimitar christoff

    dimitar christoff Active Member

    Messages:
    882
    Likes Received:
    62
    Best Answers:
    0
    Trophy Points:
    90
    #3
    yeah, above script is written pretty poorly by mootools 1.2 standards :)
     
    dimitar christoff, Sep 28, 2008 IP