Даже не глядя на библиотеку могу предположить что её API оптимизировано на использование её Java программистами. Возможности JavaScript в таких библиотеках зачастую игнорируются. Однако это не значит что от них надо отказаться(ввиду того что они всё же работают), достаточно запилить надстройку над необходимым API и пользоваться собственным API. Благо JavaScript оптимизирован именно под такого рода задачи. Так что смело пиши
function createLayout(widgets){
for(var widget in widgets){
//чего-то там
}
}
и будет тебе счастье.