UNPKG

catjs

Version:

(Mobile) Web Automation Framework

251 lines (169 loc) 7.13 kB
var scrollDelay = true; _cat.plugins.sencha = function () { var getItemById = function(idName) { return Ext.ComponentQuery.query('#' + idName)[0]; }; var fireItemTapFunc = function (extElement, index) { extElement.fireEvent('itemtap', extElement, index); }, fireTapFunc = function (extElement) { extElement.fireEvent('tap'); }, setTextHelp = function (extElement, str) { if (extElement.hasListener('painted')) { extElement.setValue(str); } else { extElement.addListener('painted', function () { extElement.setValue(str); }); } }; return { actions: { fireTap: function (extElement) { // check number of args if (arguments.length === 1) { if (extElement.hasListener('painted')) { fireTapFunc(extElement); } else { extElement.addListener('painted', fireTapFunc(extElement)); } } else { // in case of list var index = arguments[1]; if (extElement.hasListener('painted')) { fireItemTapFunc(extElement, index); } else { extElement.addListener('painted', fireItemTapFunc(extElement, index)); if (extElement.hasListener('painted')) { fireItemTapFunc(extElement, index); } else { extElement.addListener('painted', fireItemTapFunc(extElement, index)); } } } }, setText: function (extElement, str) { setTextHelp(extElement, str); }, setTextValue: function (extElement, str) { var element = getItemById(extElement); element.setValue(str); }, tapButton : function (btn) { var button = getItemById(btn); var buttonHandler = button.getHandler(); button.fireAction("tap", buttonHandler()); }, setChecked : function (checkItem) { var checkbox = getItemById(checkItem); checkbox.setChecked(true); }, setUnchecked : function (checkItem) { var checkbox = getItemById(checkItem); checkbox.setChecked(false); }, setSliderValue : function (sliderId, value) { var slider = getItemById(sliderId); slider.setValue(value); }, setSliderValues : function (sliderId, value1, value2) { var slider = getItemById(sliderId); slider.setValues([value1, value2]); }, setToggle : function (toggleId, value) { var toggle = getItemById(toggleId); if (value) { toggle.setValues(true); } else { toggle.setValues(false); } }, changeTab : function (barId, value) { var bar = getItemById(barId); bar.setActiveItem(value); }, scrollBy : function (itemId, horizontalValue, verticalValue) { var item = getItemById(itemId); if (scrollDelay) { item.getScrollable().getScroller().scrollTo(horizontalValue,verticalValue, { duration : 1000 }) ; } else { item.getScrollable().getScroller().scrollTo(horizontalValue,verticalValue); } }, scrollToTop : function (itemId) { var item = getItemById(itemId); if (scrollDelay) { item.getScrollable().getScroller().scrollTo(-1, -1, { duration : 1000 }) ; } else { item.getScrollable().getScroller().scrollTo(-1, -1); } }, scrollToEnd : function (itemId) { var item = getItemById(itemId); if (scrollDelay) { item.getScrollable().getScroller().scrollToEnd(true); } else { item.getScrollable().getScroller().scrollToEnd(true); } }, scrollToListIndex : function (listId, index) { var list = getItemById(listId); var scroller = list.getScrollable().getScroller(); var item = list.getItemAt(index); var verticalValue = item.renderElement.dom.offsetTop; var horizontalValue = 0; if (scrollDelay) { scroller.scrollTo(horizontalValue,verticalValue, { duration : 1000 }) ; } else { scroller.scrollTo(horizontalValue,verticalValue); } }, carouselNext : function (carouselId) { var carousel = getItemById(carouselId); carousel.next(); }, carouselPrevious : function (carouselId) { var carousel = getItemById(carouselId); carousel.previous(); }, nestedlistSelect : function (nestedlistId, index) { var nestedlist = getItemById(nestedlistId); var indexItem = nestedlist.getActiveItem().getStore().getRange()[index]; if (indexItem.isLeaf()) { var activelist= nestedlist.getActiveItem(); nestedlist.fireEvent('itemtap', nestedlist, activelist,index,{},{}); } else { nestedlist.goToNode(indexItem); } }, nestedlistBack : function (nestedlistId) { var nestedlist = getItemById(nestedlistId); var node = nestedlist.getLastNode(); nestedlist.goToNode(node.parentNode); }, listSelectIndex : function (listId, index) { var list = getItemById(listId); list.select(index); }, changeView : function (viewName) { var firststep = Ext.create(viewName); Ext.Viewport.setActiveItem(firststep); }, removePanel : function (panelId) { var panel = getItemById(panelId); Ext.Viewport.remove(panel); }, setDate : function (dateItemId, year, month, day) { var dateItem = getItemById(dateItemId); dateItem.setValue(new Date(year, month - 1, day)); } } }; }();