ScriptLib.js
1.94 KB
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
var scriptCodeText = "";
top.scriptCodeFun = function(){
return scriptCodeText;
};
function ScriptLib() {
this.pageUrl = "/mobilemode/scriptlib/ScriptCenter.jsp";
}
ScriptLib.windows = {};
ScriptLib.prototype.addScriptToField = function (selector, callbackFn) {
var $target = $(selector),
v = $target.val(),
id = $target[0].id;
var win = ScriptLib.windows[id];
if (win) {
return win.restore();
}
ScriptLib.windows[id] = this.openWindow(id, v, function (result) {
var scriptCode = result.scriptCode;
$target[0].value = scriptCode;
if (typeof (callbackFn) == "function") {
callbackFn.call(this, scriptCode);
}
scriptCode = $.trim(scriptCode);
$target.parents(".click-control").toggleClass("active", !!scriptCode);
});
};
ScriptLib.prototype.openWindow = function (id, value, callbackFn) {
var dataModel = top.require && top.require("dataModel") || {},
mec = top.require && top.require("mec") || {};
var mecHandlers = mec.getSortedMecHandlers();
scriptCodeText = value;
var url = this.pageUrl + "?appid=" + dataModel.get("appid") + "&appHomepageId=" + dataModel.get("appHomepageId") + "&mecHandlers=" + encodeURI(JSON.stringify({ data: mecHandlers }));
var $body = $(top.document.body);
var dlg = top.createTopDialog();//获取Dialog对象
var width = $body.width() * 0.9;
dlg.Model = true;
dlg.normalDialog = false;
dlg.Width = width > 1250 ? 1250 : width; //定义长度
dlg.Height = $body.height() * 0.8;
dlg.URL = url;
dlg.btn = false;
dlg.maxmin = true;
dlg.Title = SystemEnv.getHtmlNoteName(4813); //函数库
dlg.show();
dlg.hookFn = function (result) {
callbackFn.call(this, result);
delete ScriptLib.windows[id];
};
dlg.end = function () {
delete ScriptLib.windows[id];
}
return dlg;
};
function SL_ChangeStyle(el, code) {
code = $.trim(code);
$(el).toggleClass("active", !!code);
}
function SL_AddScriptToField(selector, callbackFn) {
var sl = new ScriptLib();
sl.addScriptToField(selector, callbackFn);
}