-
Notifications
You must be signed in to change notification settings - Fork 0
/
dialog.js
105 lines (92 loc) · 2.22 KB
/
dialog.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//弹窗插件 add by Li at 2016-11-29
var filter = require("sys.pipe");
exports.Lang = {
cn:{
title:"提示",
okText:"确定",
cancelText:"取消"
},
en:{
title:"Notification",
okText:"Confirm",
cancelText:"Cancel"
},
pt:{
title:"Atenção",
okText:"Confirmar",
cancelText:"Cancelar"
}
};
var model = exports.model = {
title: "",
text: "",
url: "",
okText: "",
cancelText: "",
hasClose: false,
hasOk: true,
hasCancel : false,
onOk: null,
onCancel: null,
onButton: null
};
exports.onRenderBefore = function() {
this.currentLang = localStorage.lang ? this.Lang[localStorage.lang] : this.Lang.cn;
Object.assign(model, this.currentLang);
};
exports.mediaStyle = true;
exports.timer = null;
//点击确定按钮
exports.pickOk = function(){
exports.timer && window.clearTimeout(exports.timer);
exports.hide();
model.onOk && model.onOk();
};
//点击取消按钮
exports.pickCancel = function(){
exports.hide();
model.onCancel && model.onCancel();
};
//点击其他按钮
exports.pickButton = function(index){
exports.hide();
model.onButton && model.onButton(index);
};
//警告框
exports.alert = function(ops){
if(typeof ops!="object") {
ops = {text: ops};
for(var i=1; i<arguments.length; i++){
var v = arguments[i];
typeof v == "number" && (ops.timeout = v);
typeof v == "function" && (ops.onOk = v);
}
}
ops.hasCancel = false;
exports.showDialog(ops);
};
//确认框
exports.confirm = function(ops){
if(typeof ops!="object"){
ops = {
text: arguments[0],
onOk: arguments[1],
onCancel: arguments[2]
};
}
ops.hasCancel = true;
exports.showDialog(ops);
};
//显示对话框
exports.showDialog = function(ops){
//filter.mergeObj(exports.model, ops);
Object.assign(exports.model, ops);
model = exports.model;
model.onOk = ops.onOk || null;
model.onCancel = ops.onCancel || null;
exports.render();
exports.show();
if(ops.timeout>0){
exports.timer = window.setTimeout(exports.pickOk, ops.timeout);
}
};