/**
* desc: 对afui进行扩展
* author: wangyang
* date: 2015-04-12
*/
define(['jquery', 'appframeworkui'], function($, afui){
$.extend(afui, {
//开启自定义弹窗
simple_popup: function(content){
if ($.query('#simple_popup').length == 0){
$.query('#afui').append('
');
}
$.query('#popup_content').html('').append(content);
$.query('#simple_popup').show();
},
//关闭自定义弹窗
hide_popup: function(callback){
$.query('#simple_popup').hide();
if (typeof(callback) === 'function'){
callback.call();
}
},
/**
* 常用的弹出框
* @param {options:{
'title' : '',
'text' : '',
'buttons' : [{'text' : '', handler : function(){}},...]
} }
* @returns {}
*/
popular_popup: function(options){
var defaults = {
title: '',
text: '欢迎来到壹管家',
buttons : [
{
text : '我知道了',
handler : function(){}
}
],
onOpen: function(){
$.query('.panel').addClass('prevent-pointer-events');
},
onClose: function(){
setTimeout(function(){
$.query('.panel').removeClass('prevent-pointer-events');
}, 1000);
}
};
var new_options = $.extend({}, defaults, options);
var button_class = '';
var buttons = new_options.buttons;
if (buttons.length > 2){
buttons = buttons.slice(0, 2);
}
if (buttons.length == 1){
button_class = ' one_button';
} else if (buttons.length == 2){
button_class = ' two_button';
}
var htm = '';
$.simple_popup(htm);
if (typeof(new_options.onOpen) == 'function'){
new_options.onOpen.call();
}
$.query('#cancel').on('tap', function(){
$.hide_popup(new_options.onClose);
buttons[0].handler.call();
});
$.query('#action').on('tap', function(){
$.hide_popup(new_options.onClose);
if (buttons.length == 1){
buttons[0].handler.call();
} else if (buttons.length == 2){
buttons[1].handler.call();
}
});
},
//对带验证的ajax
sign_ajax: function(options){
var params = options.data;
var sgf = options.success;
options.success = function(res){
alert(res.error_code);
if ( res.error_code == '1001' || res.error_code == "1003") {
native.getNewKey();
return ;
};
sgf(res);
}
if (!!!params.time){
params.time = new Date().getTime() / 1000;
}
sign_queue.push(options);
if (sign_queue.length == 1){
native.getSign(sign_queue[0].data, sign_callback);
}
},
//touch绑定事件的封装
new_touch: function(el, callback, parent_dom){
var event = 'tap';
if (!((window.DocumentTouch && document instanceof DocumentTouch) || 'ontouchstart' in window)){
event = 'click';
}
if (parent_dom !== undefined){
$(parent_dom).on(event, el, function(ev){
callback.call(this, ev);
});
} else {
$(el).on(event, function(ev){
callback.call(this, ev);
});
}
},
//显示loading mask并锁定UI
show_loading: function(message){
if (typeof message == 'undefined'){
message = '加载中';
}
$.ui.showMask(message);
$.ui.blockUI();
var that = this;
setTimeout(function(){
that.hide_loading();
}, 10000);
},
//隐藏loading mas并解锁UI
hide_loading: function(){
$.ui.hideMask();
$.ui.unblockUI();
},
//显示右侧边栏
show_side_menu: function(){
require(['iscroll'], function(IScroll){
if (right_selector_scroll === null){
right_selector_scroll = new IScroll('#right_selector_scroll');
} else {
right_selector_scroll.refresh();
}
});
$.query('#content').addClass('prevent-pointer-events');
$.ui.toggleRightSideMenu(true, function(){
$.query('#afui').one('swipeRight', function(){
$.ui.toggleRightSideMenu(false, null, 200);
setTimeout(function(){
$.query('#content').removeClass('prevent-pointer-events');
}, 500);
});
}, 200);
},
//关闭右侧边栏
hide_side_menu: function(){
setTimeout(function(){
$.query('#content').removeClass('prevent-pointer-events');
}, 500);
$.ui.toggleRightSideMenu(false, function(){
$.query('#afui').unbind('swipeRight');
}, 200);
}
});
return afui;
});