Thought, this might help someone who is looking for something similar.1. Create Dummy Widget using Border container2. In WidgetContainer
private function removeDummy(event:AppEvent):void
{
var widget:IVisualElement;
var data:Object = event.data;
curId = data.id as Number;
for (var i:int = 0; i < widgetContainer.numElements; i++)
{
widget = widgetContainer.getElementAt(i);
var baseWidget:InitMinWidget = widget as InitMinWidget;
if(baseWidget!=null){
if (baseWidget.myId == curId)
{
widgetContainer.removeElement(baseWidget);
}
}
}
}
public function addMinElement(element:IVisualElement):IVisualElement{
if (element as SkinnableContainer){
// Added by FT to add the element in widget Container group
if(element!=null)
this.widgetContainer.addElement(element);
}
return element;
}
private function addWidget(element:IVisualElement):void
{
var baseWidget:IBaseWidget = element as IBaseWidget;
baseWidget.isDraggable = this.isDraggable;
constrainWidget(baseWidget);
//widgetContainer.addElement(element);
widgetContainer.addElementAt(element,Number(baseWidget.widgetId));
}
3. In Widget Manager
private function preloadNextWidget():void
{
if (preloadArray.length > 0)
{
var id:Number = preloadArray[0].id;
preloadArray.splice(0, 1);
//AppEvent.dispatch(AppEvent.WIDGET_RUN, id);
var preload:String = configData.widgets[id].preload;
var label:String = configData.widgets[id].label;
var icon:String = configData.widgets[id].icon;
var config:String = configData.widgets[id].config;
var url:String = configData.widgets[id].url;
var preWidget:InitMinWidget = new InitMinWidget();
preWidget.myId = id
preWidget.myLabel = label;
preWidget.myIcon = icon;
var wgtContainer:IWidgetContainer = configData.widgetContainers[0].container.obj;
wgtContainer.addMinWidget(preWidget);
preInitWidgetArr.push(preWidget);
}
}