huangbo vor 9 Jahren
Ursprung
Commit
1414304833

+ 39 - 40
display-server/web/template/lua/tag/WmDropmenu.lua

@ -11,53 +11,56 @@ end
11 11
--attr所有属性
12 12
function WmDropmenu:doStartTag(attr)
13 13
  --属性初始化
14
  attr.closeAction=attr.closeAction or "console.log('close')"
15
  attr.openAction=attr.oppenAction or "console.log('open')"
16
  self.attr=attr
17
  self.htmlbuff:append([[
18
<div id="]])
14
  attr.closeAction = attr.closeAction
15
  attr.openAction = attr.oppenAction
16
  self.attr = attr
17
  self.htmlbuff:append('<div id="')
19 18
  self.htmlbuff:append(attr.id)
20
  self.htmlbuff:append([[">
21
      <div class="fn">
22
        <span class="e_button"><span>]])
19
  self.htmlbuff:append('">','\n')
20
  self.htmlbuff:append([[
21
  	<div class="fn">
22
		<span class="e_button"><span>]])
23 23
  self.htmlbuff:append(attr.label)
24 24
  self.htmlbuff:append([[</span><span class="e_ico-unfold"></span></span>
25
      </div>
26
      <div class="c_dropmenu">
27
        <ul>]])
25
	</div>
26
	<div class="c_dropmenu">
27
      	<ul>
28
    ]])
28 29
end
29 30

30 31
function WmDropmenu:doEndTag()
31 32
  self.htmlbuff:append([[
32
     </ul>
33
     	</ul>
33 34
      </div>
34 35
    </div>
35 36
  ]])
36 37
    
37
    
38
 self.htmlbuff:append([[
39
  <script>
40
  require(["wmDropmenu","util"],function(WmDropmenu) {
41
      var wmDropmenu=new WmDropmenu(]])
42
 self.htmlbuff:append(self.attr.id)
43
 self.htmlbuff:append([[);
38
  self.htmlbuff:append([[
39
<script type="text/javascript">
40
  require(["wmDropmenu"],function(WmDropmenu) {
41
      var wmDropmenu=new WmDropmenu("]])
42
  self.htmlbuff:append(self.attr.id)
43
  self.htmlbuff:append('");','\n')
44
  self.htmlbuff:append([[
45
  	wmDropmenu.create();
46
  ]])
47
  
48
  if self.attr.openAction then
49
  	self.htmlbuff:append([[
44 50
      wmDropmenu.setOpenAction(function(){
45
        ]])
46
 self.htmlbuff:append(self.attr.openAction)
47
 self.htmlbuff:append([[
48
      
49
      });
50
      wmDropmenu.setCloseAction(function(){
51
        ]])
52
 self.htmlbuff:append(self.attr.closeAction)
53
 self.htmlbuff:append([[
54
      
55
      });
56
      wmDropmenu.create();
57
      var items=wmDropmenu.getItems();
58
 ]])
51
    ]])
52
	self.htmlbuff:append(self.attr.openAction,'\n')
53
	self.htmlbuff:append('});','\n')
54
  end
55
  if self.attr.closeAction then
56
  	self.htmlbuff:append([[
57
	  wmDropmenu.setCloseAction(function(){
58
    ]])
59
 	self.htmlbuff:append(self.attr.closeAction,'\n')
60
	self.htmlbuff:append('});','\n')
61
  end
62
 
59 63
 for k,v in pairs(self.clicks) do
60
    --print(k,v,type(v))
61 64
    if v~=-1 then
62 65
      self.htmlbuff:append('items[')
63 66
      self.htmlbuff:append(k-1)
@ -69,11 +72,8 @@ function WmDropmenu:doEndTag()
69 72
    end
70 73
  end
71 74
  self.htmlbuff:append([[
72
  WmWebUI.store("]])
73
  self.htmlbuff:append(self.attr.id)
74
  self.htmlbuff:append([[",wmDropmenu);
75
});
76
  </script>
75
	});
76
	</script>
77 77
  ]])
78 78
end
79 79

@ -81,7 +81,6 @@ function WmDropmenu:addClicks(click)
81 81
  table.insert(self.clicks, click)
82 82
end
83 83

84

85 84
return WmDropmenu
86 85

87 86
--[[

+ 3 - 4
display-server/web/template/lua/tag/WmDropmenuItem.lua

@ -3,18 +3,17 @@ local Tag = require("engine.Tag")
3 3
local WmDropmenuItem = Class(Tag)
4 4

5 5
function WmDropmenuItem:createNew(obj,htmlbuff)
6
  self.htmlbuff=htmlbuff
6
  self.htmlbuff = htmlbuff
7 7
end
8 8

9 9
function WmDropmenuItem:doStartTag(attr)
10 10
  self.parent:addClicks(attr.click or -1);
11
  self.htmlbuff:append([[
12
    <li>]])
11
  self.htmlbuff:append('<li>')
13 12
 
14 13
end
15 14

16 15
function WmDropmenuItem:doEndTag()
17
 self.htmlbuff:append([[</li> ]]);
16
 self.htmlbuff:append('</li>');
18 17
end
19 18

20 19
return WmDropmenuItem