source: sandbox/newExpressoMail/prototype/modules/newMail/js/init.js @ 7265

Revision 7265, 5.8 KB checked in by gustavo, 12 years ago (diff)

Ticket #0000 - Criado novo modulo para o desenvolvimento do novo ExpressoMail?

  • Property svn:executable set to *
Line 
1var BASE_PATH = '../prototype/';
2
3$(document).ready(function() {
4
5    Layout = $('#wrap').layout({
6        applyDefaultStyles: true,
7        north__size:            'auto',
8        north__closable:        false,
9        north__resizable:       false,
10        north__slidable:        false,
11        west__resizable:        false,
12        west__slidable: false,
13        center__maxSize : 0
14    });
15
16    $tabs = $("#tabs").wijtabs({
17        tabTemplate: "<li role='tab' style='cursor: pointer;'><a href='#{href}'>#{label}</a><span class='ui-icon tab-close ui-icon-close close' title='Fechar Aba'>Fechar Aba</span></li>",
18        panelTemplate: "<div id='{href}'></div>",
19        add: function( event, ui ) {
20            $tabs.wijtabs('select', '#' + $tabs.find("div:last").attr("id"));
21            $tabs.find("span.tab-close:last").hover(function(){$(this).toggleClass("ui-icon-circle-close ui-icon-close");}, function(){$(this).toggleClass("ui-icon-circle-close ui-icon-close");})
22            $tabs.find("div:last").addClass("conteudo").attr("role", tab_role).append(tab_content);
23        },
24        show: function(event, ui){
25            switch($( ui.panel ).attr("role")){
26                case "new":
27                case "search":
28                    $("#footer_menu").hide();
29                    break;
30                case "message":
31                case "draft":
32                case "folder":
33                    $("#footer_menu").show();
34                    break;
35            }
36        },
37        select: function(event, ui) {
38            lastIndexSelected = ui.index;
39        },
40        scrollable: true,
41        sortable: true,
42        hideOption: {
43            blind: true,
44            fade: false,
45            duration: 200
46        },
47        showOption: {
48            blind: true,
49            fade: false,
50            duration: 200
51        }
52    });
53
54    draw_new_tree_folder();
55
56    $(".new-message-button").button({
57        icons: {
58            secondary : "ui-icon-plusthick"
59        }
60    });
61
62    var messages = DataLayer.get("message", {criteria : {folder: 'INBOX', rows: 999999}});
63
64    $('.button.config-menu').button({
65        icons: {
66            primary: "ui-icon-gear",
67            secondary: "ui-icon-triangle-1-s"
68        },
69        text: false
70    });
71
72    var menus = $(".main-menus-content").clone();
73    $(".main-menus-content").remove();
74
75    $(".this-module").button().next().button({
76        icons :{
77            primary: "ui-icon-triangle-1-s"
78        },
79        text: false
80    }).parent().buttonset();
81
82    $(".this-module").parent().append(menus);
83
84    $('.this-module').next().menu({
85        content: $('.main-menus-content').html(),
86        positionOpts: {
87            posX: 'left',
88            posY: 'bottom',
89            offsetX: -140,
90            offsetY: 0,
91            directionH: 'right',
92            directionV: 'down',
93            detectH: true, // do horizontal collision detection
94            detectV: true, // do vertical collision detection
95            linkToFront: false
96        },
97        flyOut: true,
98        showSpeed: 100,
99        crumbDefaultText: '>'
100    });
101
102    $('.block-horizontal-toolbox .main-config-menu').menu({
103        content: $('.main-config-menu-content').html(),
104        positionOpts: {
105            posX: 'left',
106            posY: 'bottom',
107            offsetX: -140,
108            offsetY: 0,
109            directionH: 'right',
110            directionV: 'down',
111            detectH: true, // do horizontal collision detection
112            detectV: true, // do vertical collision detection
113            linkToFront: false
114        },
115        flyOut: true,
116        showSpeed: 100,
117        crumbDefaultText: '>'
118    });
119    Tab.setFolderName("Caixa de Entrada");
120    $(".folder-tab-total-msgs-number").html(messages.records);
121    Tab.setFolderUnread($("#INBOX").find(".folder_unseen").html());
122    Grid = $("#imap-folder-table-messages").jqGrid({
123        url:BASE_PATH + 'REST.php?q=folder/INBOX/message',
124        datatype: "json",
125        colNames:['#',' ', 'De', 'Assunto', 'Data', 'Tamanho'],
126        colModel:[
127            {name:'msg_number',index:'msg_number', width:45, hidden:true, sortable:false},
128            {name:'flags',index:'msg_number',edittype: 'image', width:60, formatter:flags2Class, sortable:false, title :false},
129            {name:'from.name',index:'SORTFROM', width:100, sortable:true, formatter:subjectFormatter},
130            {name:'subject',index:'SORTSUBJECT', width:245, sortable:true},
131            {name:'timestamp',index:'SORTARRIVAL', width:65, align:"center", sortable:true, formatter: date2Time},
132            {name:'size',index:'SORTSIZE', width:55, align:"center", sortable:true, formatter: bytes2Size}
133        ],
134        jsonReader : {
135            root:"rows",
136            page: "page",
137            total: "total",
138            records: "records",
139            repeatitems: false,
140            id: "0"
141        },
142        rowNum:50,
143        rowList:[10,25,50],
144        pager: "#imap-folder-table-pager",
145        sortorder: "desc",
146        multiselect: true,
147        autowidth: true,
148        height : '85.5%',
149        emptyrecords: 'A pasta nao contem nenhuma mensagem.',
150        viewrecords: true,
151        loadComplete: function(data) {
152            lastLoadedMessages = data.rows;
153
154            // aplica o contador
155            $('.timable').each(function (i) {
156                $(this).countdown({
157                    since: new Date(parseInt(this.title)),
158                    significant: 1,
159                    layout: 'h&aacute; {d<}{dn} {dl} {d>}{h<}{hn} {hl} {h>}{m<}{mn} {ml} {m>}{s<}{sn} {sl}{s>}',
160                    description: ' atr&aacute;s'
161                });
162            });
163        }
164    });
165    Grid.jqGrid('bindKeys', {"onEnter":function( rowid ) { alert("You enter a row with id:"+rowid)} });
166});
Note: See TracBrowser for help on using the repository browser.