flex utility class
Hi,
Even we have many native util classes available in flex but there are few API’s which we required in almost every application.
I have written a class which provides many useful API’s…
package com.aramco.iplant.utils {
import flash.xml.XMLDocument;
import flash.xml.XMLNode;
import mx.collections.ArrayCollection;
import mx.collections.Sort;
import mx.collections.SortField;
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.rpc.xml.SimpleXMLDecoder;
import mx.rpc.xml.SimpleXMLEncoder;
/**
- Util class
- * */
public class FlxUtil {
/**
- @public
- @param – [Object - DataGrid, ...rest]
- @return – [Nothing]
- @des – API simply add necessary columns to provided datagrid reference
- * */
public static function createDataGridColumns(dg : DataGrid, … args) : void {
var cols : Array = new Array();
var c1:DataGridColumn;
for (var i:uint = 0; i < args.length; i++){
var columnData : Array = args[i];
var columnDataField : String = columnData[0];
var columnHeaderText : String = columnData[1];
c1 = new DataGridColumn();
c1.dataField = columnDataField;
c1.headerText = columnHeaderText
cols.push(c1);
}
dg.columns = cols;
}
// search an ArrayCollection for a property on an object
public static function getItemIndexByProperty(array : ArrayCollection, property : String, value : String) : Number {
var index : Number;
for (var i:Number = 0; i < array.length; i++){
var obj:Object = Object(array[i])
if (obj[property] == value){
index = i;
}else{
index = -1;
}
}
return index;
}
/**
- @public
- @param – [Object - dataprovider, String - labelfield/datafield]
- @return – Object
- @des – API returns sorted data as Object
- * */
public static function sort(data : Object, field : String) : Object {
var sf : SortField = new SortField(field, true, false, null)
var sort:Sort = new Sort();
sort.fields = [sf];
data.sort = sort;
data.refresh();
return data;
}
/**
- @public
- @param – [String - you want to search in, String - you want to search, String - you want to replace with]
- @return – String
- @des – API simply search and replace with provided args
- * */
public static function searchAndReplace(holder : String, searchfor : String, replacement : String) : String {
var temparray:Array = holder.split(searchfor);
holder = temparray.join(replacement);
return (holder);
}
/**
- @public
- @param – [XML]
- @return – ArrayCollection
- @des – API will convert any XML object to ArrayCollection and returns same
- * */
public static function xmlToArrayCollection(xml : XML) : ArrayCollection {
var xmlDoc : XMLDocument = new XMLDocument(xml.toString());
var decoder : SimpleXMLDecoder = new SimpleXMLDecoder(true);
var resultObj : Object = decoder.decodeXML(xmlDoc);
var ac : ArrayCollection = new ArrayCollection(resultObj.root.list.source.item as Array);
return ac;
}
/**
- @public
- @param – [Object]
- @return – XML
- @des – API will convert any proxy object to XML and returns same
- * */
public static function objectToXML(obj : Object) : XML {
var qName : QName = new QName(“root”);
var xmlDocument : XMLDocument = new XMLDocument();
var simpleXMLEncoder : SimpleXMLEncoder = new SimpleXMLEncoder(xmlDocument);
var xmlNode : XMLNode = simpleXMLEncoder.encodeValue(obj, qName, xmlDocument);
var xml : XML = new XML(xmlDocument.toString());
return xml;
}
/**
- @public
- @param – [Object]
- @return – ArrayCollection
- @des – API will convert any Object to ArrayCollection and returns same
- * */
public static function objectToArrayCollection(obj : Object) : ArrayCollection {
var ac : ArrayCollection = new ArrayCollection(obj as Array);
return ac;
}
/**
- @public
- @param – [ArrayCollection]
- @return – XML
- @des – API will convert any ArrayCollection object to XML and returns same
- * */
public static function arrayCollectionToXML(ac : ArrayCollection) : XML{
var xml : XML = objectToXML(ac);
return xml;
}
/**
- @public
- @param – [String]
- @return – [String]
- @des – remove all white space for a string and returns same
- * */
public static function trimWhiteSpace(str : String) : String {
var pattern:RegExp = /[\s]+/g;
return str.replace(pattern, “”);
}
/**
- @public
- @param – [String]
- @return – [String]
- @des – remove all \n for a string and returns same
- * */
public static function trimNewLines(str : String) : String {
var pattern:RegExp = /[\r\n]/g;
return str.replace(pattern, “”);
}
/**
- @public
- @param – [String]
- @return – [Boolean]
- @des – API returns true if string contains alpha numeric value else false
- */
public function containsAlphaNumeric(str:String) : Boolean {
var pattern:RegExp = /[^a-zA-Z0-9]/;
return str.search(pattern) != 0;
}
}
}
leave a comment