Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
officejs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
officejs
Commits
62332ea3
Commit
62332ea3
authored
Jul 28, 2011
by
François Billioud
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
beginning of mails code
parent
81888e4a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
966 additions
and
5 deletions
+966
-5
UNGProject/index.php
UNGProject/index.php
+1
-1
UNGProject/js/mail-editor.js
UNGProject/js/mail-editor.js
+76
-0
UNGProject/js/mail.js
UNGProject/js/mail.js
+313
-0
UNGProject/mail.html
UNGProject/mail.html
+546
-0
UNGProject/xml/xmlElements.xml
UNGProject/xml/xmlElements.xml
+30
-4
No files found.
UNGProject/index.php
View file @
62332ea3
...
...
@@ -5,7 +5,7 @@
<title></title>
<script
type=
"text/javascript"
>
function
reloc
(
url
)
{
window
.
location
=
url
;}
</script>
</head>
<body
onload=
"reloc('
ung
.html');"
>
<body
onload=
"reloc('
mail
.html');"
>
</body>
</html>
UNGProject/js/mail-editor.js
0 → 100644
View file @
62332ea3
/**
* This file provides classes needed by the mail editor
*/
/**
* Editors
* editors must implement the following methods :
* load : load the editor in the current page
* saveEdition : save the edition made by this editor to the current document
* loadContentFromDocument : display the content of the specified document in the editor
*/
var
Xinha
=
function
()
{
this
.
name
=
"
Xinha
"
;
this
.
load
=
function
()
{
_editor_url
=
"
xinha/
"
;
getCurrentPage
().
include
(
"
xinha/XinhaCore.js
"
,
"
script
"
);
getCurrentPage
().
include
(
"
xinha/config.js
"
,
"
script
"
);
xinha_init
();
}
this
.
saveEdition
=
function
()
{
getCurrentDocument
().
saveEdition
(
xinha_editors
.
input_area
.
getEditorContent
());
}
this
.
loadContentFromDocument
=
function
(
doc
)
{
var
setText
=
function
()
{
xinha_editors
.
input_area
.
setEditorContent
(
doc
.
getContent
());}
tryUntilSucceed
(
setText
);
}
this
.
load
();
}
/**
* Text documents
*
* editable documents must implements the following arguments and methods
* type : a unique type ID
* saveEdition : set the argument as the new content of the document. Change last modification time and display the changes
* setAsCurrentDocument : set the document as currentDocument in the local storage and display its properties in the current page
/**
* class JSONEMail
* @param arg : a json JSONEMail object to load
*/
var
JSONEMail
=
function
(
arg
)
{
if
(
arg
)
{
this
.
load
(
arg
);}
else
{
this
.
senders
=
{};
this
.
cc
=
{};
this
.
bcc
=
{};
this
.
object
=
""
;
this
.
recipients
=
{};
this
.
date
=
currentTime
();
this
.
content
=
""
;
this
.
attachment
=
{};
}
}
JSONEMail
.
prototype
=
new
UngObject
();
//inherits methods from JSONDocument
JSONEMail
.
prototype
.
load
({
//setters,getters
getSenders
:
function
()
{
return
this
.
senders
;},
getCC
:
function
()
{
return
this
.
cc
;},
getBCC
:
function
()
{
return
this
.
bcc
;},
getObject
:
function
()
{
return
this
.
object
},
getRecipients
:
function
()
{
return
this
.
recipients
;},
getDate
:
function
()
{
return
this
.
date
;},
setSenders
:
function
(
senderList
)
{
this
.
senders
=
senderList
;},
setCC
:
function
(
ccList
)
{
this
.
cc
=
ccList
;},
setBCC
:
function
(
bccList
)
{
this
.
bcc
=
bccList
;},
setObject
:
function
(
object
)
{
this
.
object
=
object
;},
setRecipients
:
function
(
recipientList
)
{
this
.
recipients
=
recipientList
;},
setDate
:
function
(
date
)
{
this
.
date
=
date
;}
});
UNGProject/js/mail.js
0 → 100644
View file @
62332ea3
/**
* This file provides the javascript used to display the list of user's documents
*/
/* global variable */
/* the last modified document */
getCurrentDocumentID
=
function
()
{
return
localStorage
.
getItem
(
"
currentDocumentID
"
);}
setCurrentDocumentID
=
function
(
ID
)
{
return
localStorage
.
setItem
(
"
currentDocumentID
"
,
ID
);}
/**
* class EMailList
* This class provides methods to manipulate the list of emails of the current user
* @param arg : an eMailList json object to load
*/
var
EMailList
=
function
(
arg
)
{
//List.call(this);
if
(
arg
)
{
this
.
load
(
arg
);
this
.
load
(
new
List
(
arg
,
JSONEMail
));
this
.
selectionList
=
new
List
(
arg
.
selectionList
);
//load methods of selectionList
}
else
{
List
.
call
(
this
);
this
.
displayInformation
=
{};
this
.
displayInformation
.
page
=
1
;
this
.
selectionList
=
new
List
();
}
}
EMailList
.
prototype
=
new
List
();
EMailList
.
prototype
.
load
({
removeEMail
:
function
(
doc
)
{
var
i
=
this
.
find
(
doc
);
this
.
get
(
i
).
remove
()
//delete the file
this
.
remove
(
i
);
//remove from the list
getCurrentStorage
().
save
();
//save changes
},
getSelectionList
:
function
()
{
return
this
.
selectionList
;},
resetSelectionList
:
function
()
{
this
.
selectionList
=
new
List
();
//display consequences
for
(
var
i
=
this
.
getDisplayInformation
().
first
-
1
;
i
<
this
.
getDisplayInformation
().
last
;
i
++
)
{
$
(
"
tr td.listbox-table-select-cell input#
"
+
i
).
attr
(
"
checked
"
,
false
);
//uncheck
}
$
(
"
span#selected_row_number a
"
).
html
(
0
);
//display the selected row number
},
checkAll
:
function
()
{
this
.
selectionList
=
new
List
();
for
(
var
i
=
0
;
i
<
this
.
size
();
i
++
)
{
this
.
getSelectionList
().
add
(
this
.
get
(
i
));
}
//display consequences
for
(
i
=
this
.
getDisplayInformation
().
first
-
1
;
i
<
this
.
getDisplayInformation
().
last
;
i
++
)
{
$
(
"
tr td.listbox-table-select-cell input#
"
+
i
).
attr
(
"
checked
"
,
true
);
//check
}
$
(
"
span#selected_row_number a
"
).
html
(
this
.
size
());
//display the selected row number
},
applyToSelection
:
function
(
action
,
location
)
{
var
selection
=
this
.
getSelectionList
();
var
toApply
;
switch
(
action
)
{
case
"
moveTo
"
:
toApply
=
getCurrentEMailList
().
label
==
"
bin
"
?
function
(
mail
)
{
this
.
removeEMail
(
mail
)}
:
function
(
mail
)
{};
break
;
case
"
read
"
:
toApply
=
function
(
mail
)
{};
break
;
case
"
unread
"
:
toApply
=
function
(
mail
)
{};
break
;
}
while
(
!
selection
.
isEmpty
())
{
var
mail
=
selection
.
pop
();
toApply
(
mail
);
}
this
.
resetSelectionList
();
this
.
display
();
},
getDisplayInformation
:
function
()
{
return
this
.
displayInformation
;},
getDisplayedPage
:
function
()
{
return
this
.
getDisplayInformation
().
page
;},
setDisplayedPage
:
function
(
index
)
{
this
.
displayInformation
.
page
=
index
;
this
.
display
();
},
changePage
:
function
(
event
)
{
var
newPage
=
this
.
getDisplayedPage
();
switch
(
event
.
target
.
className
.
split
(
"
"
)[
0
])
{
case
"
listbox_set_page
"
:
newPage
=
event
.
target
.
value
;
break
;
case
"
listbox_next_page
"
:
newPage
++
;
break
;
case
"
listbox_previous_page
"
:
newPage
--
;
break
;
case
"
listbox_last_page
"
:
newPage
=
this
.
getDisplayInformation
().
lastPage
;
break
;
case
"
listbox_first_page
"
:
newPage
=
1
;
break
;
}
this
.
setDisplayedPage
(
newPage
);
},
/* display the list of documents in the web page */
displayContent
:
function
()
{
$
(
"
table.listbox tbody
"
).
html
(
""
);
//empty the previous displayed list
for
(
var
i
=
this
.
getDisplayInformation
().
first
-
1
;
i
<
this
.
getDisplayInformation
().
last
;
i
++
)
{
var
doc
=
this
.
get
(
i
);
var
ligne
=
new
Line
(
doc
,
i
);
ligne
.
updateHTML
();
ligne
.
display
();
if
(
this
.
getSelectionList
().
contains
(
doc
))
{
ligne
.
setSelected
(
true
);}
//check the box if selected
}
},
displayListInformation
:
function
()
{
if
(
this
.
size
()
>
0
)
{
$
(
"
div.listbox-number-of-records
"
).
css
(
"
display
"
,
"
inline
"
);
$
(
"
span#page_start_number
"
).
html
(
this
.
getDisplayInformation
().
first
);
$
(
"
span#page_stop_number
"
).
html
(
this
.
getDisplayInformation
().
last
);
$
(
"
span#total_row_number a
"
).
html
(
this
.
size
());
$
(
"
span#selected_row_number a
"
).
html
(
this
.
getSelectionList
().
size
());
}
else
{
$
(
"
div.listbox-number-of-records
"
).
css
(
"
display
"
,
"
none
"
);}
},
displayNavigationElements
:
function
()
{
var
lastPage
=
this
.
getDisplayInformation
().
lastPage
;
var
disp
=
function
(
element
,
bool
)
{
bool
?
$
(
element
).
css
(
"
display
"
,
"
inline
"
)
:
$
(
element
).
css
(
"
display
"
,
"
none
"
);
}
disp
(
"
div.listbox-navigation
"
,
this
.
getDisplayInformation
().
lastPage
>
1
);
if
(
lastPage
>
1
)
{
$
(
"
div.listbox-navigation input.listbox_set_page
"
).
attr
(
"
value
"
,
this
.
getDisplayedPage
());
$
(
"
div.listbox-navigation span.listbox_last_page
"
).
html
(
lastPage
);
disp
(
"
div.listbox-navigation button.listbox_first_page
"
,
this
.
getDisplayedPage
()
>
1
);
disp
(
"
div.listbox-navigation button.listbox_previous_page
"
,
this
.
getDisplayedPage
()
>
1
);
disp
(
"
div.listbox-navigation button.listbox_next_page
"
,
this
.
getDisplayedPage
()
<
lastPage
);
disp
(
"
div.listbox-navigation button.listbox_last_page
"
,
this
.
getDisplayedPage
()
<
lastPage
);
}
},
display
:
function
()
{
this
.
updateDisplayInformation
();
this
.
displayContent
();
this
.
displayListInformation
();
this
.
displayNavigationElements
();
},
/* update the document to be displayed */
updateDisplayInformation
:
function
()
{
var
infos
=
this
.
getDisplayInformation
();
infos
.
step
=
getCurrentUser
().
getSetting
(
"
displayPreferences
"
),
//documents per page
infos
.
first
=
(
infos
.
page
-
1
)
*
infos
.
step
+
1
,
//number of the first displayed document
infos
.
last
=
(
this
.
size
()
<
(
infos
.
first
+
infos
.
step
))
?
this
.
size
()
:
infos
.
first
+
infos
.
step
-
1
//number of the last displayed document
infos
.
lastPage
=
Math
.
ceil
(
this
.
size
()
/
infos
.
step
);
},
setAsCurrentDocumentList
:
function
()
{
this
.
display
();
}
});
getEMailList
=
function
()
{
return
getCurrentUser
().
getEMailList
();
}
/**
* create a line representing a document in the main table
* @param mail : email to represent
* @param i : ID of the line (number)
*/
var
Line
=
function
(
mail
,
i
)
{
this
.
email
=
mail
;
this
.
ID
=
i
;
this
.
html
=
Line
.
getOriginalHTML
();
}
Line
.
prototype
=
{
getEMail
:
function
()
{
return
this
.
email
;},
getID
:
function
()
{
return
this
.
ID
;},
getType
:
function
()
{
return
this
.
document
.
getType
()
?
this
.
document
.
getType
()
:
"
other
"
;},
getHTML
:
function
()
{
return
this
.
html
;},
setHTML
:
function
(
newHTML
)
{
this
.
html
=
newHTML
;},
setSelected
:
function
(
bool
)
{
$
(
"
tr td.listbox-table-select-cell input#
"
+
this
.
getID
()).
attr
(
"
checked
"
,
bool
)},
isSelected
:
function
()
{
return
$
(
"
tr td.listbox-table-select-cell input#
"
+
this
.
getID
()).
attr
(
"
checked
"
);
},
/* add the document of this line to the list of selected documents */
addToSelection
:
function
()
{
getDocumentList
().
getSelectionList
().
add
(
this
.
getDocument
());
},
/* remove the document of this line from the list of selected documents */
removeFromSelection
:
function
()
{
getDocumentList
().
getSelectionList
().
removeElement
(
this
.
getDocument
());
},
/* check or uncheck the line */
changeState
:
function
()
{
this
.
isSelected
()
?
this
.
addToSelection
()
:
this
.
removeFromSelection
();
$
(
"
span#selected_row_number a
"
).
html
(
getDocumentList
().
getSelectionList
().
size
());
//display the selected row number
},
/* load the document information in the html of a default line */
updateHTML
:
function
()
{
var
line
=
this
;
this
.
setHTML
(
$
(
this
.
getHTML
()).
attr
(
"
class
"
,
this
.
getType
())
.
find
(
"
td.listbox-table-select-cell input
"
)
.
attr
(
"
id
"
,
this
.
getID
())
//ID
.
click
(
function
()
{
line
.
changeState
();})
//clic on a checkbox
.
end
()
.
find
(
"
td.listbox-table-data-cell
"
)
.
click
(
function
()
{
//clic on a line
setCurrentEMailID
(
line
.
getID
());
startEMailEdition
(
line
.
getEMail
())
})
.
find
(
"
a.listbox-email-sender
"
).
html
(
this
.
getEMail
().
getSenders
()).
end
()
.
find
(
"
a.listbox-email-object
"
).
html
(
this
.
getEMail
().
getObject
()[
getCurrentUser
().
getSetting
(
"
language
"
)]).
end
()
.
find
(
"
a.listbox-email-date
"
).
html
(
this
.
getEMail
().
getLastModification
()).
end
()
.
end
());
if
(
getEmail
().
getAttachment
())
{
this
.
setHTML
(
$
(
"
<img>
"
,{
src
:
"
images/icons/attachment.png
"
,
css
:{
height
:
"
1em
"
}}).
appendTo
(
this
.
getHTML
().
find
(
"
a.listbox-email-attachment
"
)));
}
},
/* add the line in the table */
display
:
function
()
{
$
(
"
table.listbox tbody
"
).
append
(
$
(
this
.
getHTML
()));}
}
/* load the html code of a default line */
Line
.
loadHTML
=
function
()
{
loadFile
(
"
xml/xmlElements.xml
"
,
"
html
"
,
function
(
data
)
{
Line
.
originalHTML
=
$
(
data
).
find
(
"
email table tbody
"
).
html
();});
return
Line
.
originalHTML
;
}
/* return the html code of a default line */
Line
.
getOriginalHTML
=
function
()
{
return
Line
.
originalHTML
;}
/**
* create a new email and start an editor to edit it
*/
var
createNewEMail
=
function
()
{
var
newEMail
=
new
EMail
();
newEMail
.
save
(
function
()
{
getMailList
().
add
(
newEMail
);
getCurrentStorage
().
save
();
startEMailEdition
(
newEMail
);
});
}
createMoveToMenu
=
function
(
labelList
)
{
$
(
"
div#move_to_list
"
).
html
(
""
);
for
(
var
label
in
labelList
)
{
var
span
=
JQuery
(
"
<span>
"
,{
text
:
label
});
var
div
=
$
(
"
<div>
"
,{
click
:
function
()
{
getMailList
().
applyToSelection
(
'
moveTo
'
,
label
)}});
$
(
"
<li>
"
,
{}).
html
(
div
.
html
(
span
)).
appendTo
(
"
div#move_to_list
"
);
}
}
/**
* Class IMAPStorage
* this class provides usual API to save/load/delete emails with imap
*/
var
IMAPStorage
=
function
(
userName
)
{
getCurrentStorage
().
load
({
loadEmail
:
function
(
ID
)
{},
saveEmail
:
function
(
mail
,
ID
)
{},
deleteEmail
:
function
(
ID
)
{}
});
}
/**
* Class Label
* used to load the methods of emails
*/
var
Label
=
function
(
arg
)
{
this
.
load
(
arg
?
new
List
(
arg
,
JSONEMail
)
:
new
List
());
}
/**
* Class MailBox
* this class provides API to send/receive and manipulate emails
*/
var
initMailBox
=
function
(
user
,
mailProvider
)
{
getCurrentStorage
().
load
({
userName
:
user
,
provider
:
mailProvider
,
saveEmail
:
function
(
mail
,
ID
)
{},
deleteEmail
:
function
(
ID
)
{},
sendEMail
:
function
(
mail
)
{},
loadEMail
:
function
(
ID
)
{}
});
}
if
(
arg
)
{
}
else
{
this
.
provider
=
""
;
this
.
userName
=
""
;
this
.
labelList
=
new
List
();
}
}
MailBox
.
prototype
=
new
UNGProject
();
MailBox
.
prototype
.
load
({
getLabelList
:
function
()
{
return
this
.
labelList
;},
getLabelList
:
function
()
{
return
this
.
labelList
;},
getLabelList
:
function
()
{
return
this
.
labelList
;},
getLabelList
:
function
()
{
return
this
.
labelList
;},
});
getCurrentEMail
=
function
()
{
if
(
!
currentEMail
)
{
currentEMail
=
new
JSONEMail
(
JSON
.
parse
(
localStorage
.
getItem
(
"
currentEMail
"
)));
}
return
currentEMail
;
}
setCurrentEMail
=
function
(
mail
)
{
currentEMail
=
mail
;
localStorage
.
setItem
(
"
currentEMail
"
,
JSON
.
stringify
(
mail
));
}
\ No newline at end of file
UNGProject/mail.html
0 → 100644
View file @
62332ea3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xml:lang=
"en"
lang=
"en"
>
<head>
<meta
name=
"generator"
content=
"ERP5 - Copyright (C) 2001 - 2008. All rights reserved."
/>
<meta
name=
"description"
content=
"ERP5 Free Open Source ERP and CRM"
/>
<meta
name=
"keywords"
content=
""
/>
<meta
name=
"robots"
content=
"index, follow"
/>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<meta
http-equiv=
"Content-Script-Type"
content=
"text/javascript"
/>
<meta
http-equiv=
"Content-Style-Type"
content=
"text/css"
/>
<title>
ERP5 | ERP5
</title>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"css/ung.css"
/>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"css/jquery-ui.css"
/>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"css/gadget.css"
/>
<script
type=
"text/javascript"
src=
"js/jquery/jquery.js"
></script>
<script
type=
"text/javascript"
src=
"js/jquery/jquery-ui.js"
></script>
<script
type=
"text/javascript"
src=
"js/tools.js"
></script>
<script
type=
"text/javascript"
src=
"js/theme.js"
></script>
<script
type=
"text/javascript"
src=
"js/mail.js"
></script>
<link
rel=
"icon"
type=
"image/x-icon"
href=
"images/ung/favicon.ico"
/>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"images/ung/favicon.ico"
/>
<script
type=
"text/javascript"
>
var
init
=
function
()
{
//delete localStorage.documentList;//delete the list for tests
setCurrentPage
(
new
Page
(
"
mail
"
));
//provide methods on the page
getCurrentStorage
().
getUser
().
setAsCurrentUser
();
//initialize the user
if
(
getCurrentDocumentID
()
&&
getDocumentList
().
get
(
getCurrentDocumentID
()))
{
/* update the list with the modifications of the last edited document
* (this method has to been rewritten if using multi users) */
getDocumentList
().
updateDocumentInformation
(
getCurrentDocumentID
());
delete
localStorage
.
currentDocumentID
;
getCurrentStorage
().
save
();
}
waitBeforeSucceed
(
//display the list of documents
function
(){
return
Line
.
loadHTML
()},
function
()
{
getDocumentList
().
resetSelectionList
();
getDocumentList
().
updateDisplayInformation
();
getDocumentList
().
display
();
resize
();}
//hack for a bug with firefox
);
}
$
(
window
).
resize
(
resize
);
$
(
document
).
ready
(
init
);
</script>
</head>
<body>
<div
class=
"container"
>
<div
class=
"navigation"
>
<!-- Each aggregate of groups is a div wrapper -->
<div
class=
"wrapper"
id=
"wrapper_navigation"
>
<div
class=
" navigation-left"
>
<fieldset
class=
"widget"
>
<legend
class=
"group_title"
></legend>
<div
class=
"field"
title=
""
>
<label>
navigation_box
</label>
<div
class=
"input"
><div
>
<a
class=
"email"
href=
"/ung/mail"
>
Email
</a>
<a
class=
"document"
href=
"mail.html"
>
Documents
</a>
<a
class=
"calendar"
href=
"/ung/calendar"
>
Calendar
</a>
</div></div>
</div>
</fieldset>
</div>
<div
class=
" navigation-right"
>
<fieldset
class=
"widget"
>
<legend
class=
"group_title"
></legend>
<div
class=
"field"
title=
""
>
<label>
your_language
</label>
<div
class=
"input"
><div
>
<div
id=
"select_language"
>
<ul><li>
<span
id=
"current_language"
>
en
</span>
<img
src=
"images/ung/arrow_20C.png"
/>
<ul
id=
"available_languages"
>
<li></li>
</ul>
</li></ul>
</div>
</div></div>
</div>
<div
class=
"field"
title=
""
>
<label>
user_login_box
</label>
<div
class=
"input"
><div
>
<a
id=
"right_message"
>
Not Implemented yet
</a>
<div
id=
"preference_dialog"
title=
"UNG Preferences"
></div>
<a
id=
"userName"
>
Unknown
</a>
|
<a
id=
"settings"
href=
""
>
Settings
</a>
|
<a
id=
"help"
href=
""
>
Help
</a>
|
<a
id=
"sign_out"
href=
"login.html"
onclick=
"signOut()"
>
Sign out
</a>
</div></div>
</div>
</fieldset>
</div>
</div>
</div>
<div
class=
"header"
>
<!-- Each aggregate of groups is a div wrapper -->
<div
class=
"wrapper"
id=
"wrapper_header"
>
<div
class=
" header-left"
>
<fieldset
class=
"widget"
>
<legend
class=
"group_title"
></legend>
<div
class=
"field"
title=
""
>
<label>
search_bar
</label>
<div
class=
"input"
><div
>
<a
class=
"ung_docs"
href=
"mail.html"
>
<img
src=
"images/ung/ung-logo.gif"
/>
</a>
<a
id=
"loading_message"
>
Loading...
</a>
<form>
<input
type=
"text"
name=
"field_your_search_text"
class=
"field"
onkeyup=
"submitFormOnEnter(event, this.form, 'WebSection_viewSearchResultList')"
/>
<input
type=
"submit"
value=
"Search Mail"
name=
"WebSection_viewSearchResultList:method"
/>
</form>
</div></div>
</div>
</fieldset>
</div>
</div>
</div>
<div
class=
"main"
>
<!-- Each aggregate of groups is a div wrapper -->
<div
class=
"wrapper"
id=
"wrapper_main"
>
<!--<td class=" main-left">-->
<div
class=
" main-left"
>
<fieldset
class=
"widget"
>
<legend
class=
"group_title"
></legend>
<div
class=
"field"
title=
""
>
<label>
user_menu_box
</label>
<div
class=
"input"
><div
>
<div
class=
"gadget-column"
>
<div
class=
"gadget-action"
>
<input
type=
"button"
id=
"compose_mail"
class=
"ung_button"
name=
"Compose Mail"
value=
"Compose Mail"
/>
<div
class=
"file-selection"
>
<div
class=
"file-quick-search"
>
<div
class=
"listbox-tree"
>
<!-- Domain Report Tree mode -->
<div
class=
"listbox-domain-tree-container"
>
<!-- Domain node contents -->
<table
cellpadding=
"0"
summary=
"This table contains the domain tree"
class=
"your_listbox-table-domain-tree"
>
<tr>
<td
colspan=
"1"
class=
"listbox-table-domain-tree-cell"
>
<button
type=
"submit"
id=
"inbox"
name=
"unfoldDomain:method"
class=
"tree-closed current_folder"
value=
"ung_domain/all_documents.0"
>
Inbox
</button>
</td>
</tr>
<tr>
<td
colspan=
"1"
class=
"listbox-table-domain-tree-cell"
>
<button
type=
"submit"
name=
"unfoldDomain:method"
class=
"tree-closed"
value=
"ung_domain/by_subject.0"
>
Sent Mail
</button>
</td>
</tr>
<tr>
<td
colspan=
"1"
class=
"listbox-table-domain-tree-cell"
>
<button
type=
"submit"
name=
"unfoldDomain:method"
class=
"tree-closed"
value=
"ung_domain/hidden.0"
>
Drafts
</button>
</td>
</tr>
<tr>
<td
colspan=
"1"
class=
"listbox-table-domain-tree-cell"
>
<button
type=
"submit"
name=
"unfoldDomain:method"
class=
"tree-closed"
value=
"ung_domain/owner.0"
>
Spam
</button>
</td>
</tr>
<tr>
<td
colspan=
"1"
class=
"listbox-table-domain-tree-cell"
>
<button
type=
"submit"
name=
"unfoldDomain:method"
class=
"tree-closed"
value=
"ung_domain/recent.0"
>
Bin
</button>
</td>
</tr>
<tr>
<td
colspan=
"1"
class=
"listbox-table-domain-tree-cell"
>
<button
type=
"submit"
name=
"unfoldDomain:method"
class=
"tree-open"
value=
"ung_domain/shared.0"
>
Labels :
</button>
<ul>
<li
class=
"label"
>
test1
</li>
<li
class=
"label"
>
test2
</li>
</ul>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
</div>
</fieldset>
</div>
<div
class=
" main-right"
>
<fieldset
class=
"widget"
>
<legend
class=
"group_title"
></legend>
<div
class=
"field"
title=
""
>
<label>
favorite_box
</label>
<div
class=
"input"
><div
>
<div
class=
"favorite"
>
<a
class=
"domain_selected"
></a>
<a
href=
"mail.html"
>
Refresh
</a>
</div>
</div></div>
</div>
<div
class=
"field"
title=
""
>
<label>
Toolbar
</label>
<div
class=
"input"
><div
>
<div
class=
"toolbar"
>
<button
class=
"delete ung_button"
onclick=
"getMailList().applyToSelection('delete')"
>
Delete
</button>
<button
name=
"#"
class=
"change_state ung_button"
>
Change State
</button>
<div
id=
"change_state"
class=
"change_state option_menu"
>
<ul><li>
<div
class=
"fix ung_button"
>
<span>
Change State
</span>
<img
src=
"images/ung/arrow.png"
/>
</div>
<ul>
<li>
<div
onclick=
"getMailList().applyToSelection('read')"
>
<span>
Mark as read
</span>
</div>
</li>
<li>
<div
onclick=
"getMailList().applyToSelection('unread')"
>
<span>
Mark as unread
</span>
</div>
</li>
<li>
<div
onclick=
"getMailList().applyToSelection('moveTo','spam')"
>
<span>
Spam
</span>
</div>
</li>
<li>
<div
onclick=
"getMailList().applyToSelection('moveTo','bin')"
>
<span>
Delete
</span>
</div>
</li>
</ul>
</li></ul>
</div>
<div
id=
"move_to"
class=
"move_to option_menu"
>
<ul><li>
<div
class=
"fix ung_button"
>
<span>
Move to
</span>
<img
src=
"images/ung/arrow.png"
/>
</div>
<ul
id=
"move_to_list"
>
<li>
<div
onclick=
"getEMailList().applyToSelection('moveTo','inbox')"
>
<span>
Inbox
</span>
</div>
</li>
<li>
<div
onclick=
"getEMailList().applyToSelection('moveTo','send')"
>
<span>
Sent Mail
</span>
</div>
</li>
<li>
<div
onclick=
"getEMailList().applyToSelection('moveTo','spam')"
>
<span>
Spam
</span>
</div>
</li>
<li>
<div
onclick=
"getEMailList().applyToSelection('moveTo','bin')"
>
<span>
Delete
</span>
</div>
</li>
</ul>
</li></ul>
</div>
<div
class=
"listbox-navigation"
>
<button
class=
"listbox_first_page your_listbox_first_page ung_button"
onclick=
"getDocumentList().changePage(event)"
>
<span
class=
"image"
>
</span>
</button>
<button
class=
"listbox_previous_page your_listbox_previous_page ung_button"
onclick=
"getDocumentList().changePage(event)"
>
<span
class=
"image"
>
</span>
</button>
<input
class=
"listbox_set_page your_listbox_set_page"
value=
"1"
size=
"1"
onkeypress=
"if(event.keyCode==13){getDocumentList().changePage(event)}"
/>
/
<span
class=
"listbox_last_page"
>
1
</span>
<button
class=
"listbox_next_page your_listbox_next_page ung_button"
onclick=
"getDocumentList().changePage(event)"
>
<span
class=
"image"
>
</span>
</button>
<button
class=
"listbox_last_page your_listbox_last_page ung_button"
onclick=
"getDocumentList().changePage(event)"
>
<span
class=
"image"
>
</span>
</button>
</div>
<div
class=
"listbox-head"
>
<div
class=
"listbox-head-spacer"
></div>
<div
class=
"listbox-head-content"
>
<!-- Listbox head (in left) -->
<div
class=
"listbox-head-title"
>
<!-- List tree mode choice -->
<!-- Listbox title -->
<div
class=
"listbox-header-box"
>
<div
class=
"listbox-title"
>
<a
href=
"..."
class=
"your_listbox_title"
>
<span>
Document List
</span></a>
</div>
</div>
</div>
<!-- Listbox nagivation (in right) -->
<div
class=
"listbox-head-navigation"
>
<!--Show search result in web mode-->
<div
class=
"listbox-header-box"
>
<div
class=
"listbox-number-of-records"
>
<!-- listbox start - stop number -->
<span
id=
"page_start_number"
class=
"listbox-current-page-start-number"
>
1
</span>
-
<span
id=
"page_stop_number"
class=
"listbox-current-page-stop-number"
>
...
</span>
<span>
of
</span>
<!-- listbox total rows number -->
<span
id=
"total_row_number"
class=
"listbox-current-page-total-number your_listbox-current-page-total-number"
>
<a>
?
</a>
records
</span>
<!-- listbox selected rows number -->
<span
id=
"selected_row_number"
class=
"your_listbox-current-item-number"
>
-
<a>
0
</a>
items selected
</span>
</div>
</div>
<!--Page navigation -->
</div>
</div>
</div>
</div>
</div></div>
</div>
<div
class=
"field"
title=
""
>
<label>
Document List
</label>
<div
class=
"input"
>
<div
class=
"listbox-container"
>
<div
class=
"listbox-content listbox-content-fixed-width"
>
<div
class=
"listbox-body"
>
<table
class=
"listbox your_listbox your_listbox-table"
>
<thead>
<!--Column title -->
<tr
class=
"listbox-label-line"
>
<!--Report tree-->
<!-- Anchor cell -->
<!-- Select cell -->
<th
class=
"listbox-table-select-cell"
>
<input
class=
"listbox-check-all"
type=
"image"
name=
"your_listbox_checkAll:method"
value=
"1"
alt=
"Check All"
title=
"Check All"
onclick=
"getDocumentList().checkAll()"
src=
"images/icons/checkall.png"
/>
<input
class=
"listbox-uncheck-all"
type=
"image"
name=
"your_listbox_uncheckAll:method"
value=
"1"
alt=
"Uncheck All"
title=
"Uncheck All"
onclick=
"getDocumentList().resetSelectionList()"
src=
"images/icons/decheckall.png"
/>
</th>
<!-- Label column row -->
<th
class=
"listbox-table-header-cell"
></th>
<th
class=
"listbox-table-header-cell"
>
<!-- Button in normal view -->
<!-- Button in gadget mode -->
<button
type=
"button"
class=
"sort-button"
onclick=
""
title=
"Title"
>
<span>
Title
</span>
</button>
<!-- Icon showing sort order -->
<img
src=
"images/ung/transparent-image.gif"
alt=
"Sort"
class=
"sort-button"
title=
"Sort"
/>
</th>
<th
class=
"listbox-table-header-cell"
>
<!-- Button in normal view -->
<!-- Button in gadget mode -->
<button
type=
"button"
class=
"sort-button"
onclick=
""
title=
"Sharing"
>
<span>
Sharing
</span>
</button>
<!-- Icon showing sort order -->
<img
src=
"images/ung/transparent-image.gif"
alt=
"Sort"
class=
"sort-button"
title=
"Sort"
/>
</th>
<th
class=
"listbox-table-header-cell"
>
<!-- Button in normal view -->
<!-- Button in gadget mode -->
<button
type=
"button"
class=
"sort-button"
onclick=
""
title=
"Date"
>
<span>
Date
</span>
</button>
<!-- Icon showing sort order -->
<img
src=
"images/ung/transparent-image.gif"
alt=
"Sort"
class=
"sort-button"
title=
"Sort"
/>
</th>
</tr>
<!--Search column input -->
</thead>
<!-- Stats -->
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</fieldset>
</div>
</div>
</div></div>
</body>
</html>
\ No newline at end of file
UNGProject/xml/xmlElements.xml
View file @
62332ea3
...
...
@@ -80,22 +80,48 @@
</td>
<td
class=
"listbox-table-data-cell"
>
<a
class=
"listbox-document-icon"
>
<img
src=
"
images/icons/document.png
"
/>
<img
src=
""
/>
</a>
</td>
<td
class=
'listbox-table-data-cell'
>
<a
class=
"listbox-document-title"
>
Web Page
</a>
<a
class=
"listbox-document-title"
></a>
</td>
<td
class=
"listbox-table-data-cell"
>
<a
class=
"listbox-document-state"
>
Deleted
</a>
<a
class=
"listbox-document-state"
></a>
</td>
<td
class=
"listbox-table-data-cell"
>
<a
class=
"listbox-document-date"
>
2011/05/31
11:44
</a>
<a
class=
"listbox-document-date"
></a>
</td>
</tr>
</tbody>
</table>
</line>
<mail>
<table>
<tbody>
<tr>
<td
class=
"listbox-table-select-cell"
>
<input
type=
"checkbox"
/>
</td>
<td
class=
"listbox-table-data-cell"
>
<a
class=
"listbox-email-attachment"
>
</a>
</td>
<td
class=
'listbox-table-data-cell'
>
<a
class=
"listbox-email-sender"
></a>
</td>
<td
class=
"listbox-table-data-cell"
>
<a
class=
"listbox-email-object"
></a>
</td>
<td
class=
"listbox-table-data-cell"
>
<a
class=
"listbox-email-date"
></a>
</td>
</tr>
</tbody>
</table>
</mail>
</root>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment