| demos\outlook\email\email.js |
1 var message_viewer;
2
3
4
5
6 function emailFolders_onChange() {
7 var item=widget.getSelection();
8 var file=item.getLinkedData();
9 if(file!=null) {
10 var titlewidget=window.getViewer("content_title").getWidget();
11 var s=item.getValue().split("\\(");
12 titlewidget.setValue(s[0]);
13 titlewidget.setIcon(item.getIcon());
14
15 var viewer=widget.getData(file);
16 if(viewer==null) {
17 viewer=window.createViewer(widget,file);
18 widget.putData(file,viewer);
19 }
20 window.activateViewer(widget,viewer,"email.content.target");
21 }
22 }
23
24
25
26
27 @param
28 @param
29
30 function showMailMessage(fcol,scol) {
31 if(message_viewer==null) {
32 message_viewer=window.createViewer(widget,'email_reader.sdf');
33 }
34 var sel=widget.selection;
35 if(sel.length!=1) return;
36 sel=sel[0];
37 var from=sel.getItem(fcol).getValue();
38 var to=sel.getItem(fcol).getLinkedData();
39 var subject=sel.getItem(scol).getValue();
40 var msgurl=sel.getItem(scol).getLinkedData();
41 var form=window.getViewer("email_reader_form");
42 form.setItemValue("subject_field",subject);
43 form.setItemValue("to_field",to);
44 form.setItemValue("from_field",from);
45 var root=widget.getRootItem();
46 var map=root.getLinkedData();
47 if(map==null) {
48 map=widget.createOptionMap(root.getValue(),',');
49 root.setLinkedData(map);
50 }
51 form.getWidget("message_field").setDataURL(msgurl);
52 window.activateViewer(widget,message_viewer,map.get("target"));
53 var unread=map.get("unread");
54 if(unread>0) {
55 var row=widget.getSelectedItem();
56 var isunread=row.getLinkedData();
57 if(isunread==1) {
58 unread--;
59 map.put("unread",unread);
60 row.setLinkedData(null);
61 row.setFont(null);
62 row.getItem(1).setIcon(widget.getIcon("resource:pim.icon.read"));
63 widget.update();
64 }
65 var name=map.get("node_name");
66 window.setStatus(name);
67 var mail_folders=window.getViewer("mailFolderSelection").getWidget("emailFolders");
68 row=mail_folders.getItem(map.get("node_index"));
69 if(unread>0) {
70 unread=unread
71 name=name+" ("+parseInt(unread)+")";
72 row.setValue(name);
73 }
74 else {
75 row.setValue(name);
76 row.setFont(null);
77 }
78 mail_folders.rowChanged(row);
79 }
80 }
81
82
83
84
85 function showDropMessage() {
86 var i,sel,len
87 var drop=window.nativeEvent.data;
88 if(drop!=null) {
89 var index=drop.getDropIndex();
90 if(index>-1 ) {
91 sel=drop.getData("email");
92 len=sel.length;
93 var titles="";
94 for(i=0;i<len;i++) {
95 titles+=sel[i].getItem(4).toString()+"\r\n"
96 }
97 window.alert("Message(s):\r\n "+titles+"\r\nwas dropped on '"+widget.get(index).toString()+"'");
98 }
99 window.nativeEvent.reject()
100 }
101 }
102
103
104
105
106 function handleHyperlink() {
107 var e=window.nativeEvent;
108 if(e.isHyperlinkEvent()) {
109 switch(String(e.eventName)) {
110 case 'LINK_ENTERED':
111 window.status=e.linkHref
112 widget.dataComponent.cursor=window.getCursor("hand")
113 break;
114 case 'LINK_EXITED':
115 window.status=null
116 widget.dataComponent.cursor=null
117 break;
118 case 'LINK_CLICKED':
119 window.browse(e.linkHref);
120 break;
121 }
122 }
123 }
124
125