Mini Kabibi Habibi
window.app = window.app || {};
window.app.mobile = (function () {
var headerHeight = 43;
var controls = {
Overview: [],
Budget: [],
Transactions: []
}
function adjustTabBar(docHeight) {
TabBar.SetHeight(docHeight - headerHeight);
}
function adjust_overviewPage() {
Overview_BudgetProgress.AdjustControl();
}
function adjust_budgetPage() {
Budget_BudgetProgress.AdjustControl();
AdjustControlsOnPage("Budget");
}
function adjust_transactionPage() {
if(AddTransactionPopup && AddTransactionPopup.IsVisible())
AddTransactionPopup.UpdatePosition();
}
function AdjustControlsOnPage(pageName){
var controlsOnPage = controls[pageName];
var length = controlsOnPage.length;
for(var i = 0; i < length; i++) {
if(controlsOnPage[i])
controlsOnPage[i].AdjustControl();
}
}
var adjustPageMethods = {
0: adjust_overviewPage,
1: adjust_budgetPage,
2: adjust_transactionPage
}
return {
onInit: function () {
this.adjust();
ASPxClientUtils.AttachEventToElement(window, "orientationchange", function () {
ASPxClientTouchUI.ensureOrientationChanged(function () { app.mobile.adjust(); });
}, false);
if (ASPxClientUtils.webKitTouchUI)
ASPxClientTouchUI.MakeScrollable("MainCallbackPanel_TabBar_CC");
else
ASPxClientUtils.AttachEventToElement(window, "resize", function () { app.mobile.adjust(); }, false);
window.app.animation.pageChanged(TabBar, null);
},
onActiveTabChanged: function (s, e) {
window.app.animation.pageChanged(s, e);
},
onTabBarEndCallback: function () {
this.adjust();
},
adjust: function () {
var docWidth = ASPxClientUtils.GetDocumentClientWidth();
var docHeight = ASPxClientUtils.GetDocumentClientHeight();
adjustTabBar(docHeight);
var activeTabIndex = TabBar.GetActiveTabIndex();
adjustPageMethods[activeTabIndex]();
},
registerControlOnPage: function (pageName, control) {
if(controls[pageName] && _aspxArrayIndexOf(controls[pageName], control))
controls[pageName].push(control);
},
goToBudgets: function(){
TabBar.SetActiveTabIndex(1);
},
goToTransactions: function(){
TabBar.SetActiveTabIndex(2);
}
}
})();