pageExpandHelper.js
2.74 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
70
71
define(['mUtil'], function (mUtil) {
var appendListExpandBtns = function ($btnWrapper, expandBtns, cfg) {
if (!mUtil.isArray(expandBtns) || (mUtil.isArray(expandBtns) && expandBtns.length == 0)) return;
var btnMap = {};
expandBtns.map(function (ele) {
ele.id = mUtil.UUID();
btnMap[ele.id] = ele;
});
cfg.btnMap = btnMap;
var $btnList = $btnWrapper.find(".wev-list-btn-container");
if (!$btnList.length) {
$btnList = $('<div class="wev-list-btn-container"></div>');
$btnWrapper.append($btnList);
}
var templateHtml = ['{@each btns as btn, index}',
'<button class="btn ${btn.className}" data-id="${btn.id}">$${btn.text}</button>',
'{@/each}'].join('');
var html = mUtil.parseTemplate(templateHtml, {btns : expandBtns});
$btnList.append(html);
events($btnWrapper, cfg);
};
var events = function ($btnWrapper, cfg) {
var pageid = cfg.pageid,
pluginid = cfg.pluginid,
btnMap = cfg.btnMap;
instance = mUtil.getInstance(pluginid, pageid);
$(".wev-list-btn-container", $btnWrapper).on("click", ".btn.wev-btn-expand", function () {
var btnId = $(this).data("id"),
btnObj = btnMap[btnId];
var billids, interfaceurl;
var cfg = {
pageid: pageid,
resourceType: btnObj.resourceType,
remindMsg: btnObj.remindMsg,
callback: btnObj.callback
};
mUtil.isFunction(instance.getCheckedData) && instance.getCheckedData(function (result) {
billids = result.reduce(function (prev, curr) {
return prev + "," + curr.id;
}, "");
interfaceurl = btnObj.interfaceurl && billids ? btnObj.interfaceurl + "&billids=" + billids.substring(1) : "";
});
Mobile_NS.doPageExpand(interfaceurl, btnObj.click, cfg);
})
};
return {
parsePageExpand: function ($btnWrapper, pluginid, cfg) {
var pageid = cfg.pageid;
var params = {
action: "parsePageExpand",
pageid: pageid.substring(pageid.lastIndexOf("_") + 1)
};
params = $.extend(cfg, mUtil.getPageParam(pageid), params);
var actionUrl = mUtil.getActionUrl("service.FormComponent", params, pageid);
mUtil.getJSON(actionUrl, function(result){
var expandBtns = result.data.btns || [];
appendListExpandBtns($btnWrapper, expandBtns, {
pluginid: pluginid,
pageid: pageid
});
});
}
};
});