gatein SVN: r3234 - in portal/trunk: web/portal/src/main/webapp/WEB-INF/classes/locale/portal and 1 other directory.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-06-07 00:43:45 -0400 (Mon, 07 Jun 2010)
New Revision: 3234
Modified:
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_en.properties
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_vi.xml
portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties
portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/locale/portal/webui_en.properties
Log:
Show wrong message when check username in Register page
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_en.properties
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_en.properties 2010-06-07 03:11:51 UTC (rev 3233)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_en.properties 2010-06-07 04:43:45 UTC (rev 3234)
@@ -34,7 +34,7 @@
UIAccountForm.label.note=Fields marked with an asterisk<span style="color: red">*</span> are required
UIAccountForm.action.Back=#{word.back}
UIAccountForm.action.Save=#{word.save}
-UIAccountForm.label.action.SearchUser=Search User
+UIAccountForm.label.action.SearchUser=Check Availability
#{0} is the username that the remote user enter
UIAccountForm.msg.user-exist=The username '{0}' is taken
UIAccountForm.msg.incorrect-password=Retype password is incorrect
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_vi.xml
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_vi.xml 2010-06-07 03:11:51 UTC (rev 3233)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/AccountPortlet_vi.xml 2010-06-07 04:43:45 UTC (rev 3234)
@@ -38,7 +38,7 @@
<email>Hộp thư:</email>
<note><![CDATA[Các trường có đánh dấu<span style="color: red">*</span> là trường bắt buộc]]></note>
<action>
- <SearchUser>Tìm kiếm người dùng</SearchUser>
+ <SearchUser>Kiểm tra sự tồn tại</SearchUser>
</action>
<Membership>Thành viên</Membership>
<option>
Modified: portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties 2010-06-07 03:11:51 UTC (rev 3233)
+++ portal/trunk/portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale/portlet/exoadmin/RegisterPortlet_en.properties 2010-06-07 04:43:45 UTC (rev 3234)
@@ -19,7 +19,7 @@
UIRegisterForm.registerWithSuccess.message=You have successfully registered a new account!
UIRegisterForm.title=Register New Account
-UIRegisterForm.label.action.CheckUsernameAvailability=Search User
+UIRegisterForm.label.action.CheckUsernameAvailability=Check Availability
UIRegisterForm.label.username=User Name:
UIRegisterForm.label.password=Password:
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/locale/portal/webui_en.properties
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/locale/portal/webui_en.properties 2010-06-07 03:11:51 UTC (rev 3233)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/classes/locale/portal/webui_en.properties 2010-06-07 04:43:45 UTC (rev 3234)
@@ -231,7 +231,7 @@
UIAccountForm.msg.password-is-not-match=Password and Confirm Password must be the same.
UIAccountInputSet.msg.user-exist=This user name already exists, please enter a different name.
-UIAccountInputSet.msg.user-not-exist=This user name is still available.
+UIAccountInputSet.msg.user-not-exist=This user name is available.
UIAccountInputSet.msg.user-is-deleted=This user may be deleted.
UIAccountInputSet.msg.email-exist=This email already exists, please enter a different address.
UIAccountInputSet.msg.empty-input=The user name cannot be empty.
14 years, 6 months
gatein SVN: r3233 - portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace.
by do-not-reply@jboss.org
Author: ndkhoiits
Date: 2010-06-06 23:11:51 -0400 (Sun, 06 Jun 2010)
New Revision: 3233
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
Log:
GTNPORTAL-1302 Compare [language]_[country] instead of [language] for languages that have another countries
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2010-06-04 10:49:31 UTC (rev 3232)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/workspace/UIPortalApplication.java 2010-06-07 03:11:51 UTC (rev 3233)
@@ -165,7 +165,10 @@
}
}
localeConfig = localeConfigService.getLocaleConfig(portalLanguage);
- if (portalLanguage == null || !portalLanguage.equals(localeConfig.getLanguage()))
+ String localeLanguage = (localeConfig.getLocale().getCountry().length() > 0) ? localeConfig.getLocale()
+ .getLanguage()
+ + "_" + localeConfig.getLocale().getCountry() : localeConfig.getLocale().getLanguage();
+ if (portalLanguage == null || !portalLanguage.equals(localeLanguage))
{
// if user language no support by portal -> get browser language if no
// ->
14 years, 6 months
gatein SVN: r3232 - in portal/trunk/web/eXoResources/src/main/webapp/javascript/html: core and 12 other directories.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-06-04 06:49:31 -0400 (Fri, 04 Jun 2010)
New Revision: 3232
Added:
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/DOMUtil.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/ExoTemplateEngine.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/HTMLUtil.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/I18NMessage.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/UIRightClickPopupMenu.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/UIPortal.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIMaskWorkspace/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIMaskWorkspace/Stylesheet.css
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/Stylesheet.css
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/No-Repeat.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/PreviewModeImage146x156.png
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/PreviewModeImageRTL146x156.png
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/Repeat-y.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/UserWorkspaceTitleBG1x23.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/UIPopupWindow.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/Stylesheet.css
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/ExoMessageDecorator.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/MiddleExoMessage.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/MiddlePopupWindow.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/PopupWindow.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/Stylesheet.css
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/MessageTabDialog.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NavDownArrow.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NavigationTab.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NormalTabStyle.gif
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/test-popup.html
Removed:
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/DOMUtil.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/ExoTemplateEngine.html
portal/trunk/web/eXoResources/src/main/webapp/javascript/html/test-popup.html
Log:
Update examples to demo javascript API
Deleted: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/DOMUtil.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/DOMUtil.html 2010-06-04 07:49:45 UTC (rev 3231)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/DOMUtil.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -1,69 +0,0 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-
-<html>
- <head>
- <script language="javascript" src="../eXo.js"></script>
- <script language="javascript" src="../eXo/core/Util.js"></script>
- <script language="javascript" src="../eXo/core/DOMUtil.js"></script>
- <script language="javascript" type="text/javascript">
- function test() {
- var DOMUtil = eXo.core.DOMUtil ;
- var root = document.getElementById('root');
-
-
- var T1 = (new Date()).getTime();
- for (var i = 0; i < 3000; ++i)
- DOMUtil.findChildrenByClass(root, "div", "class4") ;
- alert(((new Date()).getTime() - T1) / 1000);
- }
- </script>
- </head>
-
- <body>
- <div style="border: solid 1px red;" onclick="test();">click here</div>
- <div class="Root" id="root">
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class2 class3">The div</div>
- <div class="class1 class4 class3">The div</div>
- <div>
- </body>
-<html>
Deleted: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/ExoTemplateEngine.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/ExoTemplateEngine.html 2010-06-04 07:49:45 UTC (rev 3231)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/ExoTemplateEngine.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -1,65 +0,0 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-
-<html>
- <head>
- <script type="text/javascript" src="../eXo.js"></script>
- <script type="text/javascript" src="../eXo/core/Util.js"></script>
- <script type="text/javascript" src="../eXo/core/DOMUtil.js"></script>
- <script type="text/javascript" src="../eXo/core/Browser.js"></script>
- <script type="text/javascript" src="../eXo/core/TemplateEngine.js"></script>
- </head>
-
- <body>
- <h3>Test ExoTemplateEngine</h3>
- <script type="text/javascript">
- var context = {value: 'test param', test: {nested: 'nested value'}} ;
- var template =
- "<%\n" +
- " function blockcode(param) { \n" +
- " return 'call blockcode with param' + param;\n" +
- " }\n" +
- "%>\n" +
-
- "<%function myfunc(param) { %>\n" +
- "<% return 'call myfunc with param' + param; %>\n" +
- "<%}%>\n" +
-
- "<html>\n" +
- " <body>\n" +
- " <%for(var i = 0 ; i < 10; i++) { %>\n" +
- " <% var mytest = 'test variable' ;%>\n" +
- " this is a test <%=context.value%> html\n\r" +
- " <%=context.value%> , nested test <%=context.test.nested%>\n" +
- " <%=mytest%>\n" +
- " <%}%>\n" +
- " <%= myfunc(context.value)%>\n" +
- " <%= blockcode(context.value)%>\n" +
- " </body>\n" +
- "</html>"
- var html = eXo.core.TemplateEngine.toHTML(template, context) ;
- alert(html) ;
-
- html = eXo.core.TemplateEngine.merge("../eXo/core/TemplateEngine.jstmpl", context) ;
- alert(html) ;
- </script>
- </body>
-</html>
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/DOMUtil.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/DOMUtil.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/DOMUtil.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,47 @@
+<html>
+ <head>
+ <script language="javascript" src="../../eXo.js"></script>
+ <script language="javascript" src="../../eXo/core/Util.js"></script>
+ <script language="javascript" src="../../eXo/core/DOMUtil.js"></script>
+ <script language="javascript" type="text/javascript">
+ var DOMUtil = eXo.core.DOMUtil ;
+
+ function testGetChildren() {
+ var root = document.getElementById('root');
+ var children = DOMUtil.getChildrenByTagName(root, "div") ;
+ alert("Root has " + children.length + " div children");
+ }
+
+ function testFinds() {
+ var uiPage = DOMUtil.findFirstDescendantByClass(document.body, "div", "UIPageBody") ;
+ if(uiPage != null)
+ {
+ var uiPageContent = DOMUtil.findFirstChildByClass(uiPage, "div", "UIPageContent") ;
+ alert(uiPageContent.innerHTML);
+ }
+ }
+
+ function testRemoveChild() {
+ var uiPage = DOMUtil.findFirstDescendantByClass(document.body, "div", "UIPageBody") ;
+ if(uiPage != null)
+ {
+ var uiPageContent1 = DOMUtil.findFirstDescendantByClass(uiPage, "div", "UIPageContent1");
+ DOMUtil.removeElement(uiPageContent1);
+ }
+ }
+ </script>
+ </head>
+
+ <body>
+ <div align="center">Test methods in DOMUtil.js file</div><br/>
+ <div id="root" align="center">
+ <div class="UIPageBody">
+ <div class="UIPageContent">UIPage content</div>
+ <div class="UIPageContent1">UIPage content 1</div>
+ </div>
+ <input type="button" onclick="testFinds();" value="find content" />
+ <input type="button" onclick="testGetChildren();" value="get children" />
+ <input type="button" onclick="testRemoveChild();" value="remove child" />
+ </div>
+ </body>
+</html>
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/ExoTemplateEngine.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/ExoTemplateEngine.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/ExoTemplateEngine.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,44 @@
+<html>
+ <head>
+ <script type="text/javascript" src="../eXo.js"></script>
+ <script type="text/javascript" src="../eXo/core/Util.js"></script>
+ <script type="text/javascript" src="../eXo/core/DOMUtil.js"></script>
+ <script type="text/javascript" src="../eXo/core/Browser.js"></script>
+ <script type="text/javascript" src="../eXo/core/TemplateEngine.js"></script>
+ </head>
+
+ <body>
+ <h3>Test ExoTemplateEngine</h3>
+ <script type="text/javascript">
+ var context = {value: 'test param', test: {nested: 'nested value'}} ;
+ var template =
+ "<%\n" +
+ " function blockcode(param) { \n" +
+ " return 'call blockcode with param' + param;\n" +
+ " }\n" +
+ "%>\n" +
+
+ "<%function myfunc(param) { %>\n" +
+ "<% return 'call myfunc with param' + param; %>\n" +
+ "<%}%>\n" +
+
+ "<html>\n" +
+ " <body>\n" +
+ " <%for(var i = 0 ; i < 10; i++) { %>\n" +
+ " <% var mytest = 'test variable' ;%>\n" +
+ " this is a test <%=context.value%> html\n\r" +
+ " <%=context.value%> , nested test <%=context.test.nested%>\n" +
+ " <%=mytest%>\n" +
+ " <%}%>\n" +
+ " <%= myfunc(context.value)%>\n" +
+ " <%= blockcode(context.value)%>\n" +
+ " </body>\n" +
+ "</html>"
+ var html = eXo.core.TemplateEngine.toHTML(template, context) ;
+ alert(html) ;
+
+ html = eXo.core.TemplateEngine.merge("../eXo/core/TemplateEngine.jstmpl", context) ;
+ alert(html) ;
+ </script>
+ </body>
+</html>
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/HTMLUtil.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/HTMLUtil.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/HTMLUtil.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>I18NMessage</title>
+ <script src="../../eXo.js" type="text/javascript"></script>
+ <script src="../../eXo/core/Util.js" type="text/javascript"></script>
+ <script src="../../eXo/core/Browser.js" type="text/javascript"></script>
+
+
+ <script src="../../eXo/core/MouseEventManager.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/UIMaskLayer.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/Skin.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/JSON.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/Cometd.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/I18n.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIItemSelector.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIForm.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIDropDownControl.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIRightClickPopupMenu.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/PortalHttpRequest.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIPortal.js" type="text/javascript"></script>
+ <script src="../../eXo/portal/UIExoStartMenu.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIWorkspace.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIPortalControl.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/PortalDragDrop.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIPortalNavigation.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIMaskWorkspace.js" type="text/javascript"></script>
+ <script src="../../eXo/portal/UIBrowseContent.js" type="text/javascript"></script>
+ <script src="../../eXo/webui/UIPortlet.js" type="text/javascript"></script>
+ <script src="../../eXo/i18n/I18NMessage.js" type="text/javascript"></script>
+ <script src="../../eXo/i18n/MessageResource_en.js" type="text/javascript"></script>
+ <script src="../../eXo/core/DOMUtil.js" type="text/javascript"></script>
+ <script src="../../eXo/core/html/HTMLEntities.js" type="text/javascript"></script>
+ <script src="../../eXo/core/HTMLUtil.js" type="text/javascript"></script>
+
+ <script language="javascript" type="text/javascript">
+ function testEncoding() {
+ var msg = "Gatein & Portal";
+ var msg1 = eXo.core.HTMLUtil.entitiesEncode(msg);
+ var msg2 = eXo.core.HTMLUtil.entitiesDecode(msg1);
+ alert("original: " + msg + "===encoded: " + msg1 + "===decoded: " + msg2);
+ }
+ </script>
+</head>
+<body>
+ <button onclick="testEncoding();">test encoding</button>
+</body>
+</html>
\ No newline at end of file
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/I18NMessage.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/I18NMessage.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/I18NMessage.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>I18NMessage</title>
+<script language="javascript" src="../../eXo.js"></script>
+<script language="javascript" src="../../eXo/i18n/I18NMessage.js"></script>
+<script language="javascript" type="text/javascript">
+ function getMessage() {
+ var msg = eXo.i18n.I18NMessage.getMessage("SessionTimeout");
+ alert(msg);
+ }
+</script>
+</head>
+<body>
+ <button onclick="javascript:getMessage();">get message</button>
+</body>
+</html>
\ No newline at end of file
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/UIRightClickPopupMenu.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/UIRightClickPopupMenu.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/core/UIRightClickPopupMenu.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UIPortal</title>
+ <script language="javascript" src="../eXo.js"></script>
+ <script language="javascript" src="../../eXo.js"></script>
+ <script language="javascript" src="../../eXo/webui/UIRightClickPopupMenu.js"></script>
+ <script language="javascript" src="../../eXo/core/DOMUtil.js"></script>
+ <script language="javascript" src="../../eXo/core/MouseEventManager.js"></script>
+ <script language="javascript" type="text/javascript">
+
+ function bodyOnload() {
+ eXo.webui.UIRightClickPopupMenu.disableContextMenu("UITable1");
+ }
+
+ </script>
+</head>
+<body style="height: 100%;" onload="bodyOnload();">
+ <div class="UIWorkingWorkspace" id="UIWorkingWorkspace">
+ <div id="UIPortal-UIPortal" class="UIPortal">
+ <div class="VIEW-PORTAL">
+ <div id="UIPortal">
+ <br/>Disable context menu, please right-click on this table
+ <table id="UITable1" border="1.0">
+ <tr>
+ <td>Name</td>
+ <td>Email</td>
+ </tr>
+ <tr>
+ <td>Kien Nguyen</td>
+ <td>nguyenanhkien2a(a)gmail.com</td>
+ </tr>
+ </table>
+
+ <br/>Don't disable context menu
+ <table id="UITable2" border="1.0">
+ <tr>
+ <td>Name</td>
+ <td>Email</td>
+ </tr>
+ <tr>
+ <td>Trong Tran</td>
+ <td>trong.tran(a)exoplatform.com</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+
+</body>
+</html>
\ No newline at end of file
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/UIPortal.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/UIPortal.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/UIPortal.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,135 @@
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
+<head>
+ <title>UIPortal</title>
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
+ <link href="css/UIMaskWorkspace/Stylesheet.css" type="text/css" rel="stylesheet">
+ <link href="css/UIWorkspace/Stylesheet.css" type="text/css" rel="stylesheet">
+
+ <script src="../../eXo.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/Util.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/DOMUtil.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/Browser.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/MouseEventManager.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/UIMaskLayer.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/Skin.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/JSON.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/Cometd.js" type="text/javascript"></script>
+
+ <script src="../../eXo/core/I18n.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIItemSelector.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIForm.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIDropDownControl.js" type="text/javascript"></script>
+
+ <script src="../../eXo/webui/UIRightClickPopupMenu.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/PortalHttpRequest.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIPortal.js" type="text/javascript"></script>
+ <script src="../../eXo/portal/UIExoStartMenu.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIWorkspace.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIPortalControl.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/PortalDragDrop.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIPortalNavigation.js" type="text/javascript"></script>
+
+ <script src="../../eXo/portal/UIMaskWorkspace.js" type="text/javascript"></script>
+ <script src="../../eXo/portal/UIBrowseContent.js" type="text/javascript"></script>
+ <script src="../../eXo/webui/UIPortlet.js" type="text/javascript"></script>
+ <script src="../../eXo/i18n/I18NMessage.js" type="text/javascript"></script>
+ <script src="../../eXo/i18n/MessageResource_en.js" type="text/javascript"></script>
+
+ <script language="javascript" type="text/javascript">
+ function testGetUIPortlets() {
+ var uiPortlets = eXo.portal.UIPortal.getUIPortlets();
+ alert(uiPortlets.length + " UIPortlets in this working workspace");
+ }
+
+ function test() {
+ eXo.portal.UIPortal.showLayoutModeForPage();
+ }
+ </script>
+
+</head>
+<body style="height: 100%;">
+
+Test methods in UIPortal.js file<br/><br/>
+
+<div id="UIPortalApplication" class="default">
+ <div class="UIWorkingWorkspace" id="UIWorkingWorkspace">
+ <a href="#" onclick="eXo.portal.UIPortal.switchModeForPage(this)">switchModeForPage</a><br/>
+ <a href="#" onclick="eXo.portal.UIPortal.showLayoutModeForPage();">showLayoutModeForPage</a><br/>
+ <a href="#" onclick="eXo.portal.UIPortal.showViewLayoutModeForPage();">showViewLayoutModeForPage</a><br/>
+ <a href="#" onclick="eXo.portal.UIPortal.showMaskLayer();">showMaskLayer</a><br/>
+ <a href="#" onclick="eXo.portal.UIPortal.showViewMode();">showViewMode</a><br/>
+ <a href="#" onclick="testGetUIPortlets();">Get UIPortlets</a><br/>
+
+ <!-- Begin of UIPortal -->
+ <div class="UIPortal" id="UIPortal-$uicomponent.id">
+ <div class="META-DATA-BLOCK" style="display: none">
+ <div class="id">UIPortal</div>
+ <div class="title">MyPortal</div>
+ <div class="description">This is portal demo</div>
+ </div>
+
+ <div class="CONTROL-PORTAL CONTROL-BLOCK" style="display: none;"><span></span></div>
+ <div class="LAYOUT-PORTAL" style="display: none;"></div>
+ <div class="VIEW-PORTAL">
+ <div id="UIPortalId">
+
+ <div id="UIPage-18428087" class="UIPage">
+ <div style="display: none;" class="META-DATA-BLOCK">
+ <div class="id">UIPageId</div>
+ <div class="title">UIPage title</div>
+ <div class="description">The page body of the portal</div>
+ </div>
+ <div class="VIEW-PAGE" style="border: medium none ; padding: 5px;">
+ <div id="UIPage">
+ <div class="UIRowContainer">
+
+ <!-- Portlet content area -->
+ <div class="UIPortlet" id="UIPortlet-UIPortlet1Id">
+ <div class="UIComponentBlock">
+ <div class="LAYOUT-BLOCK" style="display: none;">
+ <div class="PortletLayoutDecorator">
+ Portlet1 LAYOUT
+ </div>
+ </div>
+
+ <div class="VIEW-BLOCK" id="VIEW-UIPortlet1Id" style="display: none;">
+ Portlet1 VIEW
+ </div>
+
+ <div class="EDITION-BLOCK" style="display: none">
+ Portlet1 EDITION
+ </div>
+ <div>
+ </div>
+ <!-- End Portlet content area -->
+
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- End of UIPortal -->
+
+ </div>
+ </div>
+</div>
+
+</body></html>
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIMaskWorkspace/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIMaskWorkspace/Stylesheet.css (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIMaskWorkspace/Stylesheet.css 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,362 @@
+.UIMaskWorkspace {
+ background: #f5f5f5;
+ border: none;
+ width: 650px;
+}
+
+.UIMaskWorkspace .TopLeftDecorator {
+ background: url('background/MaskWorkspace.gif') no-repeat left top;
+ padding: 0px 0px 0px 4px;
+}
+
+.UIMaskWorkspace .TopRightDecorator {
+ background: url('background/MaskWorkspace.gif') no-repeat right top;
+ padding: 0px 4px 0px 0px;
+}
+
+.UIMaskWorkspace .TopLeftDecorator .TopCenterDecorator {
+ height: 4px;
+ background: url('background/MaskWorkspace.gif') repeat-x center -4px;
+}
+
+.UIMaskWorkspace .MiddleLeftDecorator {
+ background: url('background/MiddleMaskWorkspace.gif') repeat-y left;
+ padding: 0px 0px 0px 4px;
+}
+
+.UIMaskWorkspace .MiddleRightDecorator {
+ background: url('background/MiddleMaskWorkspace.gif') repeat-y right;
+ padding: 0px 4px 0px 0px;
+}
+
+.UIMaskWorkspace .MaskContainer {
+ background: #f5f5f5;
+}
+
+.UIMaskWorkspace .BottomLeftDecorator {
+ background: url('background/MaskWorkspace.gif') no-repeat left bottom;
+ padding: 0px 0px 0px 4px;
+}
+
+.UIMaskWorkspace .BottomRightDecorator {
+ padding: 0px 4px 0px 0px;
+ background: url('background/MaskWorkspace.gif') no-repeat right bottom;
+}
+
+.UIMaskWorkspace .BottomLeftDecorator .BottomCenterDecorator {
+ height: 4px;
+ background: url('background/MaskWorkspace.gif') repeat-x center -8px;
+}
+
+.UIMaskWorkspace .UIAddApplication .UIItemSelector .ItemDetailList {
+ margin-right: 0px; /* orientation=lt */
+ margin-left: 0px; /* orientation=rt */
+ height: auto;
+}
+
+.UIMaskWorkspace .UIFormTabPane .UINodeIconSelector .OverflowContainer {
+ overflow:hidden;
+ width:auto;
+}
+/*********************************** UITabContent ************************************/
+.UIMaskWorkspace .UIFormTabPane {
+ padding: 10px;
+}
+
+.UIMaskWorkspace .UITabContent {
+ overflow-y: auto;
+ overflow-x: hidden;
+ margin: auto;
+ height: 275px;
+}
+
+.UIMaskWorkspace .UIForm .HorizontalLayout .SelectedIconInfo .UIFormInputSet {
+ margin: auto;
+}
+
+.UIMaskWorkspace .UIAccessGroup .PublicCheck .UIFormGrid td.FieldComponent {
+ _padding: 0px;
+}
+
+/*********************************** End UITabContent ************************************/
+
+.UIMaskWorkspace .IconLayout {
+ float: left;/* orientation=lt */
+ float: right;/* orientation=rt */
+ margin: 3px 5px 0px 5px;
+}
+
+.UIMaskWorkspace .UIFormWithTitle {
+ width: 550px;
+ margin: auto;
+ padding: 50px 0px;
+}
+
+.UIMaskWorkspace .UIFormInputSet .UIFormGrid .SelectGroup {
+ background: url('/eXoResources/skin/DefaultSkin/skinIcons/16x16/icons/SmallGroup.gif') no-repeat center;
+ height: 22px;
+ width: 22px;
+}
+
+/**********************************UITabSelector*****************************************/
+.UIMaskWorkspace .UITabPane .TabPaneContent .WorkingArea .CSSContent {
+ border: 1px solid #d5d5d5;
+ padding: 0px;
+}
+
+.UIMaskWorkspace .UITabPane .TabPaneContent .CSSContent .UITabContent {
+ height: auto;
+ border: 1px solid white;
+ border-top: none;
+ margin: auto;
+ overflow: hidden;
+}
+
+/**************************** UIAddApplication ******************************************/
+
+.UIAddApplication {
+ padding: 10px;
+}
+
+.UIAddApplication .TitleBarContainer {
+ background: #f6f6f6;
+}
+
+.UIAddApplication .UITabContent {
+ overflow: hidden;
+}
+
+.UIAddApplication .UITabContentContainer {
+ padding-bottom: 5px;
+ border: none;
+}
+
+.UIAddApplication .UITabContentContainer .NoneAppsMessage{
+ padding: 10px;
+ text-align: center;
+ color: gray;
+ width: 300px;
+ margin: 40px auto 0px auto;
+}
+
+.UIAddApplication .ContentContainerDetail {
+ border: 1px solid #d4d4d4;
+ border-top: none;
+}
+
+.UIAddApplication .ContentContainerDetail .CategoryContainer {
+ border: 1px solid white;
+ border-top: none;
+}
+
+.UIAddApplication .ApplicationListContainer {
+ height: 240px; width: 449px;
+ border: 1px solid #c3c3c3;
+ background: white;
+ overflow-y: auto;
+ overflow-x: hidden;
+ padding: 0px 10px;
+}
+
+.UIAddApplication .Application {
+ margin: 10px 0px 0px 0px;
+ border: solid 1px #e4e4e4;
+ padding: 10px;
+}
+
+.UIAddApplication .ApplicationContent {
+ margin-left: 85px;/* orientation=lt */
+ margin-right: 85px;/* orientation=rt */
+}
+
+.UIAddApplication .PortletIcon {
+ background: none;
+ float: left;/* orientation=lt */
+ float: right;/* orientation=rt */
+ width: 80px; height: 80px;
+ cursor: pointer;
+ margin-top: 2px;
+}
+
+.UIAddApplication .TitleBarApplication {
+ background: none;
+ width: 93%; height: 20px;
+ color: #1553B9; font-weight: bold;
+ border-bottom: 1px solid #dfdfdf;
+ padding: 0px 1px 3px 1px;
+ margin: 0px auto 5px auto;
+}
+
+.UIAddApplication .TitleBarApplication .Title {
+ float: left;/* orientation=lt */
+ float: right;/* orientation=rt */
+ margin-top: 4px;
+ font-weight: bold; font-size: 13px; color: #1553B9; font-family: arial;
+}
+
+.UIAddApplication .AddButton {
+ width: 20px; height: 24px;
+ background: url('background/AddApplicationButton.gif') no-repeat top;
+ float: right;/* orientation=lt */
+ float: left;/* orientation=rt */
+ cursor: pointer;
+ margin: 0px 3px;
+}
+
+.UIAddApplication .AddToStartUp {
+ width: 20px; height: 24px;
+ background: url('background/AddToStartup.gif') no-repeat top;
+ float: right;/* orientation=lt */
+ float: left;/* orientation=rt */
+ cursor: pointer;
+ margin: 0px 3px;
+}
+
+.UIAddApplication .SelectButton {
+ width: 20px; height: 24px;
+ background: url('background/AddApplicationButton.gif') no-repeat left -22px;
+ float: right;/* orientation=lt */
+ float: left;/* orientation=rt */
+ cursor: pointer;
+ margin: 0px 3px;
+}
+
+.UIAddApplication .ApplicationContentLabel {
+ line-height: 16px;
+ width: 93%; margin: auto;
+}
+
+.UIAddApplication .ApplicationContentLabel .RightLabel {
+ color: #058ee6;
+}
+
+.UIAddApplication .UIItemSelector .LeftColumnStyle {
+ width: auto;
+}
+
+.UIAddApplication .UIItemSelector .ItemListContainer .ItemList {
+ height: 240px;
+ overflow: auto;
+ background: #ffffff;
+ border: 1px solid #c3c3c3;
+ text-transform: capitalize;
+}
+
+.UIAddApplication .UIItemSelector .ItemDetailList .ItemDetail {
+ background: none;
+ border: none;
+ height: auto;
+}
+
+.UIAddApplication .UIItemSelector {
+ padding: 7px 5px 8px 7px;/* orientation=lt */
+ padding: 7px 7px 8px 5px;/* orientation=rt */
+ margin: 0px;
+ background: #f7f7f7;
+}
+
+.UIAddApplication .ApplicationItemIcon {
+ width: 16px; height: 16px;
+ background: url('/eXoResources/skin/DefaultSkin/skinIcons/16x16/icons/DarkBlueNextArrow.gif') no-repeat;
+ float: left;/* orientation=lt */
+ float: right;/* orientation=rt */
+ margin: 3px 5px 0px 5px;
+}
+
+.UIAddApplication .LeftColumnStyle .ItemListIcon {
+ background: none;
+ width: 0px;
+}
+
+.UIAddApplication .LeftColumnStyle .ViewListIcon {
+ background: none;
+ width: 0px;
+}
+
+/************************************ Select Permission *******************************/
+
+.UIGroupSelector {
+ padding: 10px;
+}
+
+.UIGroupSelector .SelectedGroupPath {
+ padding: 5px 0px;
+}
+
+.UIGroupSelector .UIBreadcumbs {
+ border: 1px solid white;
+ padding: 0px;
+}
+
+.UIGroupSelector .UIBreadcumbs .LeftBreadcumbsBar {
+ background: white;
+ border: 1px solid #b7b7b7;
+}
+
+.UIGroupSelector .UIBreadcumbs .RightBreadcumbsBar {
+ background: white;
+}
+
+.UIGroupSelector .UIBreadcumbs .BreadcumbsInfoBar {
+ background: white;
+}
+
+.UIGroupSelector .UIBreadcumbs .BCHome16x16Icon {
+ width: 16px; height: 16px;
+ background: url('/eXoResources/skin/DefaultSkin/skinIcons/16x16/icons/SmallGroup.gif') no-repeat left center;
+}
+
+.UIGroupSelector .UIBreadcumbs a.Selected {
+ color: #058ee6;
+}
+
+.UIGroupSelector .GroupSelector {
+ padding: 10px;
+ background: #f4f4f4;
+ border: 1px solid #e4e4e4;
+}
+
+.UIGroupSelector .TitleGroupSelector {
+ background: url('background/ThGridRepeatBg1x19.jpg') repeat-x;
+ line-height: 19px; height: 19px;
+ border: 1px solid #b7b7b7;
+ border-bottom: 1px solid #cfcfcf;
+ padding: 0px 10px;
+}
+
+.UIGroupSelector .LeftGroupSelector {
+ float: left;/* orientation=lt */
+ float: right;/* orientation=rt */
+ width: 220px; height: 210px;
+ border: 1px solid white;
+}
+
+.UIGroupSelector .RightGroupSelector {
+ margin-left: 225px;/* orientation=lt */
+ margin-right: 225px;/* orientation=rt */
+ height: 210px;
+ border: 1px solid white;
+}
+
+.UIGroupSelector .RightGroupSelector .Content {
+ border: 1px solid #b7b7b7; border-top: none;
+ height: 170px;
+ color: #058ee6;
+ padding: 10px;
+ background: white;
+}
+
+.UIGroupSelector .RightGroupSelector .Content div {
+ padding: 3px 0px;
+}
+
+.UIGroupSelector .RightGroupSelector .Content span {
+ color: #2c2c2c;
+}
+
+/**************************************Container Form*************************************/
+
+/**************************************ExoMessageDecorator*************************************/
+.UIMaskWorkspace .UIIFramePortlet .ExoMessageDecorator .UIPopupMessages .UITabContentContainer {
+ border: none;
+}
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/Stylesheet.css (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/Stylesheet.css 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,131 @@
+.UIControlWorkspace {
+ background: url('background/Repeat-y.gif') repeat-y center top;
+ width: 6px; height: 100%;
+ padding: 0px;
+ top: 0px;
+}
+
+.UIControlWorkspace .TopTitleBar {
+ padding: 12px 0px 6px 0px ;/* orientation=lt */
+ padding: 6px 0px 12px 0px ;/* orientation=rt */
+ text-align: center;
+ width: 180px;
+}
+
+.UIControlWorkspace .UIVerticalSlideTabs {
+ padding: 3px;
+}
+
+.UIControlWorkspace .ScrollArea .TreeContainer {
+ overflow-x: hidden;
+}
+
+.UIControlWorkspace .UserWorkspaceTitle {
+ height: 23px ;
+ background: url('background/UserWorkspaceTitleBG1x23.gif') repeat-x;
+ color: #434343;
+ font-weight: bold;
+ line-height: 22px;
+ padding-left: 13px;/* orientation=lt */
+ padding-right: 13px;/* orientation=rt */
+ margin-right: 2px;/* orientation=lt */
+ margin-left: 2px;/* orientation=rt */
+}
+
+.UIControlWorkspace .CloseControlWorkspace {
+ float: right;/* orientation=lt */
+ float: left;/* orientation=rt */
+ width: 21px; height: 15px;
+ margin: 3px 5px 0px 0px;/* orientation=lt */
+ margin: 3px 0px 0px 5px;/* orientation=rt */
+ background: url('background/No-Repeat.gif') no-repeat right top;/* orientation=lt */
+ background: url('background/No-Repeat.gif') no-repeat -6px top;/* orientation=rt */
+ cursor: pointer;
+}
+
+.UIControlWorkspace .UIWorkspaceControl {
+ margin-right: 2px; /* orientation=lt */
+ margin-left: 2px; /* orientation=rt */
+}
+
+/*########################### Tab ###########################*/
+.UIControlWorkspace .UIWorkspacePanel .ControlPanelExpandContainer {
+ margin: 10px 4px;
+}
+
+.UIControlWorkspace .UIWorkspacePanel .HideContentVTab {
+ display: none;
+ border: solid 1px #a3abb6;
+ margin: 2px 0px;
+}
+
+.UIControlWorkspace .UIWorkspacePanel .ShowContent {
+ display: block;
+ border: solid 1px #a3abb6;
+ margin: 2px 0px;
+}
+
+.UIControlWorkspace .UIDropDownControl {
+ width: 218px;
+}
+
+
+/*########################### End Tab ###########################*/
+/*########################### Slidebar ###########################*/
+.UIControlWorkspace .Slidebar {
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+ width: 6px; height: 100%;
+ background: url('background/Repeat-y.gif') repeat-y right; /* orientation=lt */
+ background: url('background/Repeat-y-rt.gif') repeat-y left; /* orientation=rt */
+ cursor: pointer;
+}
+
+.UIControlWorkspace .SlidebarButton {
+ height: 100%; width: 6px;
+ background: url('background/No-Repeat.gif') no-repeat left center; /* orientation=lt */
+ background: url('background/No-Repeat-rt.gif') no-repeat right center; /* orientation=rt */
+}
+
+.UIControlWorkspace .UIWorkspaceContainer {
+ background: url("background/Repeat-y.gif") repeat-y 244px top; /* orientation=lt */
+ background: url("background/Repeat-y-rt.gif") repeat-y -5px top; /* orientation=rt */
+ height: 100%;
+}
+
+/*########################### End Slidebar ###########################*/
+
+.UIWorkingWorkspace {
+ margin: 0px;
+/*
+ * minh.js.exo
+ * bug : right click with IE7 in ECM
+ */
+}
+
+.MaskLayer {
+ background: black;
+ text-align: center;
+ position: absolute;
+ overflow: auto; /* Fix for FF2 */
+}
+
+.WarningLayer {
+ width: 300px; height: 100px;
+ line-height: 100px;
+ text-align: center;
+ position: absolute;
+ opacity: 0.5 !important;
+ filter: alpha(opacity=50);
+}
+
+.PreviewMode {
+ width: 160px; height: 160px;
+ background: url("background/PreviewModeImage146x156.png") no-repeat top right; /* orientation=lt */
+ background: url("background/PreviewModeImageRTL146x156.png") no-repeat top left; /* orientation=rt */
+ position: absolute;
+ cursor: pointer;
+ right: 0px; /* orientation=lt */
+ left: 0px; /* orientation=rt */
+ top: 0px;
+}
\ No newline at end of file
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/No-Repeat.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/No-Repeat.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/PreviewModeImage146x156.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/PreviewModeImage146x156.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/PreviewModeImageRTL146x156.png
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/PreviewModeImageRTL146x156.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/Repeat-y.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/Repeat-y.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/UserWorkspaceTitleBG1x23.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/portal/css/UIWorkspace/background/UserWorkspaceTitleBG1x23.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Deleted: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/test-popup.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/test-popup.html 2010-06-04 07:49:45 UTC (rev 3231)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/test-popup.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -1,236 +0,0 @@
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-
-<!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" lang="en">
- <head>
- <script type="text/javascript" src="../eXo.js"></script>
- <script type="text/javascript" src="../eXo/core/DOMUtil.js"></script>
- <script type="text/javascript" src="../eXo/core/Util.js"></script>
- <script type="text/javascript" src="../eXo/core/Browser.js"></script>
- <script type="text/javascript" src="../eXo/webui/UIPopup.js"></script>
- <script type="text/javascript" src="../eXo/webui/UIPopupMenu.js"></script>
- <script type="text/javascript" src="../eXo/dnd/DragDrop.js"></script>
- <script type="text/javascript">
- var DOMUtil = eXo.core.DOMUtil ;
- </script>
-
- <style type="text/css">
- body {
- margin: 0px; padding: 0px ;
- }
-
- .Root {
- border: solid 2px green ;
- padding: 10px ;
- height: 550px ;
- }
-
- .ControlWorkspace {
- width: 230px ;
- height: 100% ;
- float: left ;
- border: solid 1px blue ;
- }
-
- .WorkingWorkspace {
- margin-left: 240px ;
- height: 100% ;
- border: solid 1px blue ;
- }
-
- .MenuItemContainer {
- border: solid 1px green ;
- padding: 2px 3px ;
- /* !important : not considered by IE */
- width: auto !important;
- /* *property : considered by IE only */
- *width: 0px;
- z-index: 1;
- position: absolute;
- }
-
- .MenuItemL {
- border: solid 1px yellow ;
- background: #a4cbef ;
- margin: 2px 0px ;
- height: 20px ;
- cursor: pointer ;
- white-space: nowrap;
-
- padding-left: 20px;
- background: url(../icons/16x16/DefaultSkin/Portal.gif) #a4cbef no-repeat left center;
- }
-
- .MenuItemContainer .OnMouseOver {
- border: solid 1px red ;
- background-color: blue ;
- }
-
- .MenuItemR {
- padding-right: 20px;
- }
-
- .HasSubMenu {
- background: url(../icons/16x16/DefaultSkin/BlackRightArrow.gif) no-repeat right center;
- }
-
- .SubLevel {
- visibility: hidden;
- }
-
- </style>
- <title>UIPopupMenu</title>
- </head>
-
- <body>
- <div class="Root">
- <div class="ControlWorkspace">
- <span> </span>
- </div>
-
- <div class="WorkingWorkspace" id="WorkingWorkspace">
- <span id="show" style="cursor: pointer" onclick="eXo.webui.UIPopupMenu.show('UIPopupMenu')">Show</span>
- <span id="hide" style="cursor: pointer" onclick="eXo.webui.UIPopupMenu.hide('UIPopupMenu')">Hide</span>
-
- <div class="UIPopupMenu" id="UIPopupMenu">
- <div class="MenuItemContainer">
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">
- <div class="LabelItem">MenuItem 1</div>
- <div class="MenuItemContainer SubLevel">
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">Sub Item Menu 1.1</div>
- </div>
- </div>
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">Sub Item Menu 1.2</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">
- <div class="LabelItem">MenuItem 2</div>
- <div class="MenuItemContainer SubLevel">
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">Sub Item Menu 2.1</div>
- </div>
- </div>
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">
- <div class="LabelItem">Sub Item Menu 2.2 something much longer</div>
- <div class="MenuItemContainer SubLevel">
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">Sub Item Menu 2.2.1</div>
- </div>
- </div>
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">
- <div class="LabelItem">Sub Item Menu 2.2.2</div>
- <div class="MenuItemContainer SubLevel">
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">Sub Item Menu 2.2.2.1</div>
- </div>
- </div>
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">Sub Item Menu 2.2.2.2</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">
- <div class="LabelItem">
- <div class="Test3">MenuItem 3</div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem">
- <div class="LabelItem">MenuItem 4</div>
- </div>
- </div>
- </div>
-
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem Level1">
- <div class="LabelItem">MenuItem 5</div>
- <div class="MenuItemContainer SubLevel">
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem Level2.1">Sub Item Menu 5.1</div>
- </div>
- </div>
- <div class="MenuItemL">
- <div class="MenuItemR">
- <div class="MenuItem Level2.2">Sub Item Menu 5.2</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <script type="text/javascript">
- var uiPopupMenu = document.getElementById("UIPopupMenu") ;
- var container = document.getElementById("WorkingWorkspace") ;
- eXo.webui.UIPopupMenu.init(uiPopupMenu, container, 10, 30) ;
-// uiPopupMenu.hide(uiPopupMenu);
- </script>
- </body>
-</html>
\ No newline at end of file
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/UIPopupWindow.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/UIPopupWindow.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/UIPopupWindow.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,102 @@
+<html>
+<head>
+ <link href="css/UIPopupWindow/Stylesheet.css" type="text/css" rel="stylesheet">
+ <link href="css/UITabs/Stylesheet.css" type="text/css" rel="stylesheet">
+ <script type="text/javascript" src="../../../eXo.js"></script>
+ <script type="text/javascript"src="../../..eXo/core/Util.js"></script>
+ <script type="text/javascript" src="../../../eXo/core/DOMUtil.js"></script>
+ <script type="text/javascript" src="../../../eXo/core/Browser.js"></script>
+ <script type="text/javascript" src="../../../eXo/webui/UIPopupWindow.js"></script>
+ <script type="text/javascript" src="../../../eXo/webui/UIPopup.js"></script>
+ <script type="text/javascript" src="../../../eXo/webui/UIPopupMenu.js"></script>
+ <script type="text/javascript" src="../../../eXo/dnd/DragDrop.js"></script>
+ <script type="text/javascript" src="../../../eXo/core/MouseEventManager.js"></script>
+
+ <script language="javascript" type="text/javascript">
+ function showUIPopupWindow() {
+ eXo.webui.UIPopupWindow.init('UIPopupWindowId', false, false, true, false);
+ eXo.webui.UIPopupWindow.show('UIPopupWindowId', true, true);
+ }
+
+ function showUIPopupMenu() {
+ var container = document.getElementById("UIPopupContainer");
+ eXo.webui.UIPopupMenu.init('UIPopupWindowId', container, 200, 100);
+ eXo.webui.UIPopupMenu.show('UIPopupWindowId');
+ }
+
+ function changePosition() {
+ var popup = document.getElementById("UIPopupWindowId");
+ eXo.webui.UIPopupMenu.setPosition(popup, 300, 100, true);
+ }
+ </script>
+</head>
+<body>
+ <div>Test methods in UIPopup.js, UIPopupMenu.js, UIPopupWindow.js files</div><br/>
+ <a href="#" onclick="showUIPopupWindow();">UIPopupWindow.show</a><br/>
+ <a href="#" onclick="showUIPopupMenu();">UIPopupMenu.show</a><br/>
+ <a href="#" onclick="eXo.webui.UIPopupMenu.hide('UIPopupWindowId');">UIPopupMenu.hide</a><br/>
+ <a href="#" onclick="changePosition();">UIPopupMenu.setPosition</a><br/>
+ <a href="#" onclick="eXo.core.Resize.init(document.getElementById('UIPopupWindowId'), 800, 600);">Resize</a><br/>
+
+<div id="UIPortalApplication" class="default">
+ <div style="display: none;" id="UIMaskWorkspace" class="UIMaskWorkspace">
+ <div class="TopLeftDecorator">
+ <div class="TopRightDecorator">
+ <div class="TopCenterDecorator"><span></span></div>
+ </div>
+ </div>
+
+ <div class="MiddleLeftDecorator">
+ <div class="MiddleRightDecorator">
+ <div class="MaskContainer">
+
+ </div>
+ </div>
+ </div>
+
+ <div class="BottomLeftDecorator">
+ <div class="BottomRightDecorator">
+ <div class="BottomCenterDecorator"><span></span></div>
+ </div>
+ </div>
+ </div>
+
+ <div id="UIPopupContainer">
+ <div class="UIPopupWindow UIDragObject" exo:minWidth="200" exo:minHeight="200" id="UIPopupWindowId" style="width:400; height:200; display: none;">
+ <div class="NormalStyle">
+ <div class="TopLeftCornerDecorator">
+ <div class="TopRightCornerDecorator">
+ <div class="TopCenterDecorator">
+ <div class="OverflowContainer">
+ <div class="PopupTitleIcon"><span></span></div>
+ <!-- <div class="CloseButton" title="Close Window" onclick="<%=uicomponent.event("ClosePopup")%>"><span></span></div> -->
+ <div class="CloseButton" title="CloseButton" onclick=""><span></span></div>
+
+ <div class="PopupTitle">PopupTitle</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="MiddleLeftSideDecorator">
+ <div class="MiddleRightSideDecorator">
+ <div class="MiddleCenterDecorator">
+ <div class="UIWindowContent">
+ <div style="width: 100%;"><div class="PopupContent" style="$heightStyle">Popup content</div></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div><span></span></div>
+ <div class="BottomLeftCornerDecorator">
+ <div class="BottomRightCornerDecorator">
+ <div class="BottomCenterDecorator">
+ <div class="ResizeButton"><span></span></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</div>
+</body>
+</html>
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/Stylesheet.css (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/Stylesheet.css 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,201 @@
+.UIPopupWindow {
+ position: absolute;
+}
+
+.UIPopupWindow .PopupTitleIcon {
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ margin: 5px 0px 0px 3px; /* orientation=lt */
+ margin: 5px 3px 0px 0px; /* orientation=rt */
+ width: 16px; height: 16px;
+ background: url('background/PopupWindow.gif') no-repeat left bottom;
+}
+
+.UIPopupWindow .PopupTitleIconRight {
+ float: right;
+ margin: 5px 3px 0px 0px;
+ width: 19px; height: 16px;
+ background: url('background/PopupWindow.gif') no-repeat left bottom;
+}
+
+.UIPopupWindow .PopupTitle {
+ margin: 4px 26px 0px 26px;
+ font-weight: bold; text-align: center;
+ height: 16px; line-height: 16px; vertical-align: middle;
+ background: url('background/PopupWindow.gif') repeat-x center -30px;
+ cursor: move;
+}
+
+.UIPopupWindow .CloseButton {
+ float: right; /* orientation=lt */
+ float: left; /* orientation=rt */
+ margin: 5px 3px 0px 0px; /* orientation=lt */
+ margin: 5px 0px 0px 3px; /* orientation=rt */
+ cursor: pointer;
+ width: 19px; height: 15px;
+ background: url('background/PopupWindow.gif') no-repeat right bottom;
+}
+
+.UIPopupWindow .TopLeftCornerDecorator {
+ background: url('background/PopupWindow.gif') no-repeat left -69px;
+ padding-left: 3px;
+}
+
+.UIPopupWindow .TopCenterDecorator {
+ background: url('background/PopupWindow.gif') repeat-x center -46px;
+ height: 23px;
+}
+
+.UIPopupWindow .TopRightCornerDecorator {
+ background: url('background/PopupWindow.gif') no-repeat right -69px;
+ padding-right: 3px;
+}
+
+.UIPopupWindow .MiddleLeftSideDecorator {
+ background: url('background/MiddlePopupWindow.gif') repeat-y left;
+ padding-left: 3px ;
+}
+
+.UIPopupWindow .MiddleCenterDecorator {
+ background: #bcc6f7;
+ padding: 1px 1px 0px 1px;
+}
+
+.UIPopupWindow .MiddleRightSideDecorator {
+ background: url('background/MiddlePopupWindow.gif') repeat-y right;
+ padding-right: 3px;
+}
+
+.UIPopupWindow .UIWindowContent {
+ border: 1px solid gray;
+ border-right: 1px solid #b7b7b7;
+ border-bottom: 1px solid #b7b7b7;
+}
+
+.UIPopupWindow .PopupContent {
+ width: 100%;
+ background: white;
+ overflow: auto;
+}
+
+.UIPopupWindow .ResizeButton {
+ display: none;
+ width: 18px; height:3px;
+ float: right;
+ margin-right: 2px;
+ cursor: nw-resize;
+}
+
+.UIPopupWindow .BottomLeftCornerDecorator {
+ background: url('background/PopupWindow.gif') no-repeat left -26px;
+ padding-left: 3px;
+}
+
+.UIPopupWindow .BottomCenterDecorator {
+ background: url('background/PopupWindow.gif') repeat-x right -11px;
+ height: 4px;
+ width: 100%;
+}
+
+.UIPopupWindow .BottomRightCornerDecorator {
+ background: url('background/PopupWindow.gif') no-repeat right -26px;
+ padding-right: 3px ;
+}
+
+.UIPopupWindow .Content .UIPageBrowser {
+ padding: 7px 4px 0px 8px;
+ width: 96%;
+ margin: auto;
+}
+
+/***************************Begin PoupWindow ExoMessage**********************************/
+.UIPopupWindow .ExoMessageDecorator {
+ background: white;
+ padding: 2px;
+ overflow: hidden;/*Fix for IE*/
+}
+
+.UIPopupWindow .ExoMessageDecorator .TopLeftCornerDecorator {
+ background: url('background/ExoMessageDecorator.gif') no-repeat left top;
+ padding-left: 4px;
+ height: 25px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .TopRightCornerDecorator {
+ background: url('background/ExoMessageDecorator.gif') no-repeat right top;
+ padding-right: 4px;
+ height: 25px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .TopCenterDecorator {
+ background: url('background/ExoMessageDecorator.gif') repeat-x center -25px;
+ height: 25px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .PopupTitle {
+ background: none;
+ text-align: left; /* orientation=lt */
+ text-align: right; /* orientation=rt */
+}
+
+.UIPopupWindow .ExoMessageDecorator .PopupTitleIcon {
+ width: 16px; height: 16px;
+ background: url('/eXoResources/skin/DefaultSkin/skinIcons/16x16/icons/Message.gif') no-repeat;
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ margin: 4px 0px 0px 4px; /* orientation=lt */
+ margin: 4px 4px 0px 0px; /* orientation=rt */
+}
+
+.UIPopupWindow .ExoMessageDecorator .MiddleLeftSideDecorator {
+ background: url('background/MiddleExoMessage.gif') repeat-y left;
+ padding-left: 4px;
+ height: 100%;
+}
+
+.UIPopupWindow .ExoMessageDecorator .MiddleRightSideDecorator {
+ background: url('background/MiddleExoMessage.gif') repeat-y right;
+ padding-right: 4px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .MiddleCenterDecorator {
+ background: #ffffff;
+ padding: 0px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .BottomLeftCornerDecorator {
+ background: url('background/ExoMessageDecorator.gif') no-repeat left bottom;
+ padding-left: 4px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .UIWindowContent {
+ padding: 0px; margin:0px;
+ background: none;
+}
+
+.UIPopupWindow .ExoMessageDecorator .UIWindowContent .Content {
+ padding: 0px; margin:0px;
+ border: none;
+ background: none;
+}
+
+.UIPopupWindow .ExoMessageDecorator .BottomRightCornerDecorator {
+ background: url('background/ExoMessageDecorator.gif') no-repeat right bottom;
+ padding-right: 4px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .BottomCenterDecorator {
+ background: url('background/ExoMessageDecorator.gif') repeat-x center -50px;
+ height: 4px;
+}
+
+.UIPopupWindow .ExoMessageDecorator .UITabContentContainer {
+ border: none;
+}
+
+.UIPopupWindow .ExoMessageDecorator .UITabContentContainer .UITabContent {
+ height: auto;
+ background: none;
+ border: none;
+ padding: 0px;
+}
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/ExoMessageDecorator.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/ExoMessageDecorator.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/MiddleExoMessage.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/MiddleExoMessage.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/MiddlePopupWindow.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/MiddlePopupWindow.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/PopupWindow.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UIPopupWindow/background/PopupWindow.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/Stylesheet.css
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/Stylesheet.css (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/Stylesheet.css 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,415 @@
+.UIHorizontalTabs {
+}
+
+.UIHorizontalTabs .CenterHorizontalTabs {
+ overflow-y: hidden;
+ background: url('background/NormalTabStyle.gif') repeat-x center top;
+ padding: 0px 6px;
+}
+
+.UIHorizontalTabs .TabsContainer {
+ height: 24px;
+}
+
+.UIHorizontalTabs .UITab {
+ float: left; /* orientation=lt */
+ float: right; /* orientation=rt */
+ font-weight: bold;
+ text-align: center;
+ width: auto;
+}
+
+/*###########################--NavigationTabTab--############################*/
+.UIHorizontalTabs .UITab .NormalNavigationTab {
+ line-height: 33px;
+ margin-left: 1px;
+}
+
+.UIHorizontalTabs .UITab .NormalNavigationTab .LeftTab {
+ line-height: 33px;
+ padding-left: 2px;
+}
+
+.UIHorizontalTabs .UITab .NormalNavigationTab .RightTab {
+ line-height: 33px;
+ padding-right: 2px;
+}
+
+.UIHorizontalTabs .UITab .NormalNavigationTab .MiddleTab {
+ line-height: 33px;
+ text-align: center;
+ padding: 2px 8px 0;
+}
+
+.UIHorizontalTabs .UITab .NormalNavigationTab .TabIcon {
+ color: #fff;
+ line-height: 31px;
+}
+
+.UIHorizontalTabs .UITab .NormalNavigationTab a {
+ color: #fff;
+}
+
+.UIHorizontalTabs .UITab .NormalNavigationTab .DropDownArrowIcon {
+ padding-right: 20px; /* orientation=lt */
+ padding-left: 20px; /* orientation=rt */
+ background: url(background/NavDownArrow.gif) no-repeat right; /* orientation=lt */
+ background: url(background/NavDownArrow.gif) no-repeat left; /* orientation=rt */
+ cursor: pointer;
+}
+
+/*###############-Hightlight Navigation Tab -################*/
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab {
+ line-height: 22px;
+ margin-left: 1px;
+}
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab .LeftTab {
+ line-height: 33px;
+ background: url('background/NavigationTab.gif') repeat-x left -66px;
+ padding-left: 2px;
+}
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab .RightTab {
+ line-height: 33px;
+ padding-right: 2px;
+}
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab .MiddleTab {
+ line-height: 33px;
+ text-align: center;
+ padding: 2px 8px 0;
+}
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab .TabIcon {
+ color: #fff;
+ line-height: 31px;
+}
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab a {
+ color: #fff;
+}
+
+.UIHorizontalTabs .UITab .HighlightNavigationTab .DropDownArrowIcon {
+ padding-right: 20px; /* orientation=lt */
+ padding-left: 20px; /* orientation=rt */
+ background: url(background/NavDownArrow.gif) no-repeat right; /* orientation=lt */
+ background: url(background/NavDownArrow.gif) no-repeat left; /* orientation=rt */
+ cursor: pointer;
+}
+
+/*###############-Selected Navigation Tab-################*/
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab {
+ line-height: 33px;
+ margin-left: 1px;
+}
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab .LeftTab {
+ line-height: 33px;
+ background: url('background/NavigationTab.gif') no-repeat left top;
+ padding-left: 4px;
+}
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab .RightTab {
+ line-height: 33px;
+ background: url('background/NavigationTab.gif') no-repeat right top;
+ padding-right: 4px;
+}
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab .MiddleTab {
+ line-height: 33px;
+ background: url('background/NavigationTab.gif') repeat-x left -33px;
+ text-align: center;
+ padding: 0 8px;
+}
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab .TabIcon {
+ color: #f57a00;
+ line-height: 33px;
+}
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab a {
+ color: #f57a00;
+}
+
+.UIHorizontalTabs .UITab .SelectedNavigationTab .DropDownArrowIcon {
+ padding-right: 20px; /* orientation=lt */
+ padding-left: 20px; /* orientation=rt */
+ background: transparent url(background/NavDownArrow.gif) no-repeat scroll right center; /* orientation=lt */
+ background: transparent url(background/NavDownArrow.gif) no-repeat scroll left center; /* orientation=rt */
+ cursor: pointer;
+}
+
+/*###########################-- NormalTabStyle --############################*/
+
+.UIHorizontalTabs .NormalTabStyle .NormalTab {
+ line-height: 24px;
+ margin-right: 1px;
+ color: #202020;
+ font-weight: normal;
+}
+
+.UIHorizontalTabs .NormalTabStyle .NormalTab a {
+ line-height: 24px;
+}
+
+.UIHorizontalTabs .NormalTabStyle .NormalTab .LeftTab {
+ padding-left: 12px; /* orientation=lt */
+ padding-left: 3px; /* orientation=rt */
+ line-height: 24px;
+ background: url('background/NormalTabStyle.gif') no-repeat left -24px; /* orientation=lt */
+ background: url('background/NormalTabStyle-rt.gif') no-repeat left -24px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .NormalTab .RightTab {
+ line-height: 24px;
+ padding-right: 3px; /* orientation=lt */
+ padding-right: 12px; /* orientation=rt */
+ background: url('background/NormalTabStyle.gif') no-repeat right -24px; /* orientation=lt */
+ background: url('background/NormalTabStyle-rt.gif') no-repeat right -24px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .NormalTab .MiddleTab {
+ line-height: 24px;
+ background: url('background/NormalTabStyle.gif') repeat-x center -48px;
+ cursor: pointer;
+ padding: 0px 8px;
+ text-align: right; /* orientation=rt */
+ white-space: nowrap; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .HighlightTab {
+ line-height: 24px;
+ margin-right: 1px;
+ color: #0666d2;
+ font-weight: normal;
+}
+
+.UIHorizontalTabs .NormalTabStyle .HighlightTab .LeftTab {
+ line-height: 24px;
+ padding-left: 12px; /* orientation=lt */
+ padding-left: 3px; /* orientation=rt */
+ background: url('background/NormalTabStyle.gif') no-repeat left -72px; /* orientation=lt */
+ background: url('background/NormalTabStyle-rt.gif') no-repeat left -72px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .HighlightTab .RightTab {
+ line-height: 24px;
+ padding-right: 3px; /* orientation=lt */
+ padding-right: 12px; /* orientation=rt */
+ background: url('background/NormalTabStyle.gif') no-repeat right -72px; /* orientation=lt */
+ background: url('background/NormalTabStyle-rt.gif') no-repeat right -72px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .HighlightTab .MiddleTab {
+ line-height: 24px;
+ background: url('background/NormalTabStyle.gif') repeat-x center -96px;
+ cursor: pointer;
+ padding: 0px 4px;
+}
+
+.UIHorizontalTabs .NormalTabStyle .SelectedTab {
+ line-height: 24px;
+ margin-right: 1px;
+ color: #307dcc;
+}
+
+.UIHorizontalTabs .NormalTabStyle .SelectedTab .LeftTab {
+ line-height: 24px;
+ padding-left: 15px; /* orientation=lt */
+ padding-left: 3px; /* orientation=rt */
+ background: url('background/NormalTabStyle.gif') no-repeat left -120px; /* orientation=lt */
+ background: url('background/NormalTabStyle-rt.gif') no-repeat left -120px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .SelectedTab .RightTab {
+ line-height: 24px;
+ padding-right: 3px; /* orientation=lt */
+ padding-right: 15px; /* orientation=rt */
+ background: url('background/NormalTabStyle.gif') no-repeat right -120px; /* orientation=lt */
+ background: url('background/NormalTabStyle-rt.gif') no-repeat right -120px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .NormalTabStyle .SelectedTab .MiddleTab {
+ line-height: 24px;
+ background: url('background/NormalTabStyle.gif') repeat-x center -144px;
+ cursor: pointer;
+ font-weight: normal;
+ padding: 0px 8px;
+ text-align: right; /* orientation=rt */
+ white-space: nowrap; /* orientation=rt */
+}
+
+/*###########################-- MessageTabDialog --############################*/
+
+/*==============================NormalTab for MessageTab=====================*/
+.UIHorizontalTabs .MessageTabDialog .NormalTab {
+ line-height: 27px;
+ margin-right: 1px; /* orientation=lt */
+ margin-left: 1px; /* orientation=rt */
+ color: #202020; font-weight: normal;
+ overflow: hidden; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .LeftTab {
+ padding-left: 2px; /* orientation=lt */
+ padding-right: 2px; /* orientation=rt */
+ line-height: 27px;
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .RightTab {
+ line-height: 27px;
+ padding-right: 7px; /* orientation=lt */
+ padding-left: 7px; /* orientation=rt */
+ background: url('background/MessageTabDialog.gif') repeat-y right -182px; /* orientation=lt */
+ background: url('background/MessageTabDialog-rt.gif') repeat-y left -182px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .MiddleTab {
+ line-height: 21px;
+ cursor: pointer;
+ padding: 3px 8px 3px 4px; /* orientation=lt */
+ padding: 3px 4px 3px 8px; /* orientation=rt */
+ color: black;
+ font-weight: normal;
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab div:hover{
+ color: orange;
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .TabIcon {
+ padding-left: 30px; /* orientation=lt */
+ padding-right: 30px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .InfoIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -105px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -105px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .ErrorIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -21px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -21px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .NormalTab .WarningIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -63px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -63px; /* orientation=rt */
+}
+
+/*==============================Disable Tab for MessageTab=====================*/
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab {
+ line-height: 27px;
+ margin-right: 2px; /* orientation=lt */
+ margin-left: 2px; /* orientation=rt */
+ color: #202020; font-weight: normal;
+ overflow: hidden; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .LeftTab {
+ padding-left: 2px; /* orientation=lt */
+ padding-right: 2px; /* orientation=rt */
+ line-height: 27px;
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .RightTab {
+ line-height: 27px;
+ padding-right: 7px; /* orientation=lt */
+ padding-left: 7px; /* orientation=rt */
+ background: url('background/MessageTabDialog.gif') repeat-y right -182px; /* orientation=lt */
+ background: url('background/MessageTabDialog-rt.gif') repeat-y left -182px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .MiddleTab {
+ line-height: 21px;
+ cursor: pointer;
+ padding: 3px 8px 3px 4px; /* orientation=lt */
+ padding: 3px 4px 3px 8px; /* orientation=rt */
+ color: gray;
+ font-weight: normal;
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .TabIcon {
+ padding-left: 30px; /* orientation=lt */
+ padding-right: 30px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .InfoIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -84px ; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -84px ; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .ErrorIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left top ; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right top ; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .DisabledTab .WarningIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -42px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -42px; /* orientation=rt */
+}
+
+
+/*==============================Selected Tab for MessageTab=====================*/
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab {
+ line-height: 27px;
+ color: #058ee6;
+ margin-right: 2px; /* orientation=lt */
+ margin-left: 2px; /* orientation=rt */
+ overflow: hidden; /* orientation=rt */
+ }
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .LeftTab {
+ line-height: 27px;
+ padding-left: 2px; /* orientation=lt */
+ padding-left: 7px; /* orientation=rt */
+ background: url('background/MessageTabDialog.gif') no-repeat left -126px; /* orientation=lt */
+ background: url('background/MessageTabDialog-rt.gif') no-repeat left -126px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .RightTab {
+ line-height: 27px;
+ padding-right: 7px; /* orientation=lt */
+ padding-right: 2px; /* orientation=rt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -126px; /* orientation=lt */
+ background: url('background/MessageTabDialog-rt.gif') no-repeat right -126px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .MiddleTab {
+ line-height: 21px;
+ background: url('background/MessageTabDialog.gif') repeat-x center -155px;
+ cursor: pointer;
+ padding: 3px 8px 3px 4px; /* orientation=lt */
+ padding: 3px 4px 3px 8px; /* orientation=rt */
+ color: #058ee6; font-weight: normal;
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab div:hover{
+ color: orange;
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .TabIcon {
+ padding-left: 30px; /* orientation=lt */
+ padding-right: 30px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .InfoIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -105px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -105px; /* orientation=rt */
+
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .ErrorIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -21px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -21px; /* orientation=rt */
+}
+
+.UIHorizontalTabs .MessageTabDialog .SelectedTab .WarningIcon {
+ background: url('background/MessageTabDialog.gif') no-repeat left -63px; /* orientation=lt */
+ background: url('background/MessageTabDialog.gif') no-repeat right -63px; /* orientation=rt */
+}
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/MessageTabDialog.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/MessageTabDialog.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NavDownArrow.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NavDownArrow.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NavigationTab.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NavigationTab.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NormalTabStyle.gif
===================================================================
(Binary files differ)
Property changes on: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/css/UITabs/background/NormalTabStyle.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/test-popup.html
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/test-popup.html (rev 0)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/html/webui/UIPopupWindow/test-popup.html 2010-06-04 10:49:31 UTC (rev 3232)
@@ -0,0 +1,215 @@
+<!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" lang="en">
+ <head>
+ <script type="text/javascript" src="../../../eXo.js"></script>
+ <script type="text/javascript" src="../../../eXo/core/DOMUtil.js"></script>
+ <script type="text/javascript"src="../../..eXo/core/Util.js"></script>
+ <script type="text/javascript" src="../../../eXo/core/Browser.js"></script>
+ <script type="text/javascript" src="../../../eXo/webui/UIPopup.js"></script>
+ <script type="text/javascript" src="../../../eXo/webui/UIPopupMenu.js"></script>
+ <script type="text/javascript" src="../../../eXo/dnd/DragDrop.js"></script>
+ <script type="text/javascript">
+ var DOMUtil = eXo.core.DOMUtil ;
+ </script>
+
+ <style type="text/css">
+ body {
+ margin: 0px; padding: 0px ;
+ }
+
+ .Root {
+ border: solid 2px green ;
+ padding: 10px ;
+ height: 550px ;
+ }
+
+ .ControlWorkspace {
+ width: 230px ;
+ height: 100% ;
+ float: left ;
+ border: solid 1px blue ;
+ }
+
+ .WorkingWorkspace {
+ margin-left: 240px ;
+ height: 100% ;
+ border: solid 1px blue ;
+ }
+
+ .MenuItemContainer {
+ border: solid 1px green ;
+ padding: 2px 3px ;
+ /* !important : not considered by IE */
+ width: auto !important;
+ /* *property : considered by IE only */
+ *width: 0px;
+ z-index: 1;
+ position: absolute;
+ }
+
+ .MenuItemL {
+ border: solid 1px yellow ;
+ background: #a4cbef ;
+ margin: 2px 0px ;
+ height: 20px ;
+ cursor: pointer ;
+ white-space: nowrap;
+
+ padding-left: 20px;
+ background: url(../icons/16x16/DefaultSkin/Portal.gif) #a4cbef no-repeat left center;
+ }
+
+ .MenuItemContainer .OnMouseOver {
+ border: solid 1px red ;
+ background-color: blue ;
+ }
+
+ .MenuItemR {
+ padding-right: 20px;
+ }
+
+ .HasSubMenu {
+ background: url(../icons/16x16/DefaultSkin/BlackRightArrow.gif) no-repeat right center;
+ }
+
+ .SubLevel {
+ visibility: hidden;
+ }
+
+ </style>
+ <title>UIPopupMenu</title>
+ </head>
+
+ <body>
+ <div class="Root">
+ <div class="ControlWorkspace">
+ <span> </span>
+ </div>
+
+ <div class="WorkingWorkspace" id="WorkingWorkspace">
+ <span id="show" style="cursor: pointer" onclick="eXo.webui.UIPopupMenu.show('UIPopupMenu')">Show</span>
+ <span id="hide" style="cursor: pointer" onclick="eXo.webui.UIPopupMenu.hide('UIPopupMenu')">Hide</span>
+
+ <div class="UIPopupMenu" id="UIPopupMenu">
+ <div class="MenuItemContainer">
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">
+ <div class="LabelItem">MenuItem 1</div>
+ <div class="MenuItemContainer SubLevel">
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">Sub Item Menu 1.1</div>
+ </div>
+ </div>
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">Sub Item Menu 1.2</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">
+ <div class="LabelItem">MenuItem 2</div>
+ <div class="MenuItemContainer SubLevel">
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">Sub Item Menu 2.1</div>
+ </div>
+ </div>
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">
+ <div class="LabelItem">Sub Item Menu 2.2 something much longer</div>
+ <div class="MenuItemContainer SubLevel">
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">Sub Item Menu 2.2.1</div>
+ </div>
+ </div>
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">
+ <div class="LabelItem">Sub Item Menu 2.2.2</div>
+ <div class="MenuItemContainer SubLevel">
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">Sub Item Menu 2.2.2.1</div>
+ </div>
+ </div>
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">Sub Item Menu 2.2.2.2</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">
+ <div class="LabelItem">
+ <div class="Test3">MenuItem 3</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem">
+ <div class="LabelItem">MenuItem 4</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem Level1">
+ <div class="LabelItem">MenuItem 5</div>
+ <div class="MenuItemContainer SubLevel">
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem Level2.1">Sub Item Menu 5.1</div>
+ </div>
+ </div>
+ <div class="MenuItemL">
+ <div class="MenuItemR">
+ <div class="MenuItem Level2.2">Sub Item Menu 5.2</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <script type="text/javascript">
+ var uiPopupMenu = document.getElementById("UIPopupMenu") ;
+ var container = document.getElementById("WorkingWorkspace") ;
+ eXo.webui.UIPopupMenu.init(uiPopupMenu, container, 10, 30) ;
+// uiPopupMenu.hide(uiPopupMenu);
+ </script>
+ </body>
+</html>
14 years, 6 months
gatein SVN: r3231 - in portal/trunk/web/eXoResources/src/main/webapp/javascript: eXo/core and 4 other directories.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-06-04 03:49:45 -0400 (Fri, 04 Jun 2010)
New Revision: 3231
Modified:
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/DOMUtil.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/HTMLUtil.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/I18n.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/MouseEventManager.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/Skin.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/i18n/I18NMessage.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/PortalHttpRequest.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortal.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIWorkspace.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDropDownControl.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIForm.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIItemSelector.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UINotification.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupMenu.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupSelectCategory.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPortlet.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIRightClickPopupMenu.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIToolbar.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUpload.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUserSelector.js
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVerticalSlideTabs.js
Log:
Update javascript API document
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/DOMUtil.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/DOMUtil.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/DOMUtil.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -293,7 +293,11 @@
}
return null ;
} ;
-
+/**
+ * Move an element
+ * @param {String} srcElemt element to move
+ * @param {String} destElemt destination element that will contains srcElemt
+ */
DOMUtil.prototype.moveElemt = function(srcElemt, destElemt) {
if(typeof(srcElemt) == "string") srcElemt = document.getElementById(srcElemt) ;
if(typeof(destElemt) == "string") destElemt = document.getElementById(destElemt) ;
@@ -452,7 +456,10 @@
return el; // some other object, just pass it back
}
-
+/**
+ * Disable onclick event
+ * @param {Event} el
+ */
DOMUtil.prototype.disableOnClick = function(el) {
el.onclick = new Function("return false;");
}
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/HTMLUtil.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/HTMLUtil.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/HTMLUtil.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -28,11 +28,10 @@
}
/**
+ * Encode string
+ * @param {String} str string to encode
+ * @return {String} encoded string
*
- * @param {String} str
- *
- * @return {String}
- *
*/
HTMLUtil.prototype.entitiesEncode = function(str) {
if (!str || str == '') {
@@ -51,11 +50,10 @@
}
/**
+ * Decode string
+ * @param {String} str to decode
+ * @return {String} decoded string
*
- * @param {String} str
- *
- * @return {String}
- *
*/
HTMLUtil.prototype.entitiesDecode = function(str) {
if (!str || str == '') {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/I18n.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/I18n.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/I18n.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -20,7 +20,9 @@
function I18n() {
this.init();
}
-
+/**
+ * initialize some information as language, orientation, etc of I18n object
+ */
I18n.prototype.init = function() {
var html = document.getElementsByTagName('html')[0];
var lang = html.getAttribute('xml:lang') || html.getAttribute('lang') || "en";
@@ -30,23 +32,34 @@
this.orientation = "rtl" == dir ? "rt" : "lt";
this.lt = this.orientation == "lt";
}
-
+/**
+ * return language
+ */
I18n.prototype.getLanguage = function() {
return this.lang;
}
-
+/**
+ * return orientation (right to left, left to right),
+ * some languages (such as Arabic) used "right to left" view
+ */
I18n.prototype.getOrientation = function() {
return this.orientation;
}
-
+/**
+ * return directory
+ */
I18n.prototype.getDir = function() {
return !this.lt;
}
-
+/**
+ * return "left to"(lt) state
+ */
I18n.prototype.isLT = function() {
return this.lt;
}
-
+/**
+ * return "right to" state
+ */
I18n.prototype.isRT = function() {
return !this.lt;
}
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/MouseEventManager.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/MouseEventManager.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/MouseEventManager.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -18,12 +18,18 @@
*/
function MouseEventManager () {} ;
-
+/**
+ * Add mouse down event handler
+ * @param method handler method
+ */
MouseEventManager.prototype.addMouseDownHandler = function(method) {
document.onmousedown = this.docMouseDownEvt ;
this.onMouseDownHandlers = method ;
} ;
-
+/**
+ * Document mouse down event, it will cancel default behavior of browser and process behavior in handler chain
+ * @param {Event} evt
+ */
MouseEventManager.prototype.docMouseDownEvt = function(evt) {
if(!evt) evt = window.event ;
evt.cancelBubble = true ;
@@ -33,17 +39,26 @@
else eXo.core.MouseEventManager.onMouseDownHandlers(evt) ;
document.onmousedown = null ;
} ;
-
+/**
+ * Add Mouse up event handler
+ * @param method handler method
+ */
MouseEventManager.prototype.addMouseUpHandler = function(method) {
document.onmouseup = this.docMouseUpEvt ;
this.onMouseUpHandlers = method ;
} ;
-
+/**
+ * Document mouse up event, it will cancel default behavior of browser and process behavior in handler chain
+ * @param {Event} evt
+ */
MouseEventManager.prototype.docMouseUpEvt = function() {
var mouseUpHandlers = eXo.core.MouseEventManager.onMouseUpHandlers ;
} ;
-
+/**
+ * Document mouse click event, it will cancel default behavior of browser and process behavior in handler chain
+ * @param {Event} evt
+ */
MouseEventManager.prototype.docMouseClickEvt = function(evt) {
if(!evt) evt = window.event ;
evt.cancelBubble = true ;
@@ -52,7 +67,10 @@
else eXo.core.MouseEventManager.onMouseClickHandlers(evt) ;
document.onclick = null ;
} ;
-
+/**
+ * Add mouse click handler
+ * @param method handler method
+ */
MouseEventManager.prototype.addMouseClickHandler = function(method) {
document.onclick = this.docMouseClickEvt ;
this.onMouseClickHandlers = method ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/Skin.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/Skin.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/core/Skin.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -35,7 +35,11 @@
var head = document.getElementsByTagName("head")[0] ;
head.appendChild(link) ;
} ;
-
+/**
+ * Add skin css file to the page and assign them to core skin document objects
+ * @param {String} componentId
+ * @param {String} url Url to css skin file in respository
+ */
Skin.prototype.addCoreSkin = function(componentId, url) {
if(document.getElementById(componentId) == null) {
var coreSkin = document.getElementById("CoreSkin") ;
@@ -48,7 +52,11 @@
head.insertBefore(link, coreSkin) ;
}
} ;
-
+/**
+ * Add skin css file to the page and assign them to portal skin document objects
+ * @param {String} componentId
+ * @param {String} url Url to css skin file in respository
+ */
Skin.prototype.addApplicationSkin = function(componentId, url) {
if(document.getElementById(componentId) == null) {
var coreSkin = document.getElementById("PortalSkin") ;
@@ -61,7 +69,9 @@
head.insertBefore(link, coreSkin) ;
}
} ;
-
+/**
+ * Init Skin instance (if null)
+ */
if(!eXo.core.Skin){
eXo.core.Skin = new Skin() ;
} ;
\ No newline at end of file
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/gadget/UIGadget.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -18,6 +18,17 @@
*/
eXo.gadget.UIGadget = {
+ /**
+ * Create a new Gadget
+ * @param {String} url local or remote path that contain gadget .xml file
+ * @param {String} id id of object contains this gadget (parent id)
+ * @param {String} metadata contain information of gadget
+ * @param {Object} userPref
+ * @param {String} view type of view (home, canvas, ...)
+ * @param {boolean} isdev normal or development mode (0, 1)
+ * @param {boolean} debug normal or debug mode (0, 1)
+ * @param {String} nocache value indicate cache or nocache at shindig level (0, 1)
+ */
createGadget : function(url, id, metadata, userPref, view, hostName, isdev, debug, nocache) {
//eXo = eXo || {};
window.gadgets = window.gadgets || {};
@@ -74,7 +85,12 @@
}
},
-
+ /**
+ * Initialize data of gadget such as title, style, etc
+ * @param {Object} uiGadget object need to init data
+ * @param {boolean} inDesktop use to realize UIDesktopPage or no
+ * @param {String} metadata metadata of gadget
+ */
init : function(uiGadget, inDesktop, metadata) {
var portletFragment = eXo.core.DOMUtil.findAncestorByClass(uiGadget, "PORTLET-FRAGMENT");
if (portletFragment == null) {
@@ -156,7 +172,10 @@
}
},
-
+ /**
+ * Show gadget control
+ * @param {Event} e
+ */
showGadgetControl : function(e) {
if (!e) e = window.event;
e.cancelBubble = true;
@@ -171,7 +190,10 @@
}
},
-
+ /**
+ * Hide gadget control
+ *@param {Event} e
+ */
hideGadgetControl : function(e) {
if (!e) e = window.event;
e.cancelBubble = true;
@@ -180,7 +202,10 @@
gadgetControl.style.visibility = "hidden";
uiGadget.style.border = "none";
},
-
+ /**
+ * Use to edit some information of gadget such as nocache, debug, etc
+ * @param {String} id identifier of gadget
+ */
editGadget : function(id) {
var DOMUtil = eXo.core.DOMUtil ;
var uiapp = document.getElementById(id) ;
@@ -188,7 +213,10 @@
var tempId = id.id.split('_')[2] ;
gadgets.container.getGadget(tempId).handleOpenUserPrefsDialog();
},
-
+ /**
+ * Minimize a gadget
+ * @param {Object} selectedElement object to minimize
+ */
minimizeGadget: function(selectedElement) {
var DOMUtil = eXo.core.DOMUtil ;
var uiGadget = DOMUtil.findAncestorByClass(selectedElement, "UIGadget") ;
@@ -219,7 +247,10 @@
ajaxAsyncGetRequest(href);
if (uiGadget.minimizeCallback) uiGadget.minimizeCallback(portletFrag.parentNode.id);
},
-
+ /**
+ * Maximize a gadget
+ * @param {Object} selectedElement object to maximize
+ */
maximizeGadget: function(selectedElement) {
var DOMUtil = eXo.core.DOMUtil ;
var uiGadget = DOMUtil.findAncestorByClass(selectedElement, "UIGadget") ;
@@ -236,7 +267,10 @@
href += "&objectId=" + uiGadget.id + "&ajaxRequest=true";
ajaxGet(href,true);
},
-
+ /**
+ * Delete a gadget from UI and database
+ * @param {Object} selectedElement object to delete
+ */
deleteGadget : function(selectedElement) {
var DOMUtil = eXo.core.DOMUtil ;
var uiPage = DOMUtil.findAncestorByClass(selectedElement, "UIPage") ;
@@ -285,7 +319,10 @@
}
}
},
-
+ /**
+ * Save Window information of gadget instance (x, y, z axis, etc)
+ * @param {Object} object Gadget object
+ */
saveWindowProperties : function(object) {
var DOMUtil = eXo.core.DOMUtil ;
var uiPage = DOMUtil.findAncestorByClass(object, "UIPage") ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/i18n/I18NMessage.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/i18n/I18NMessage.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/i18n/I18NMessage.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -18,7 +18,12 @@
*/
function I18NMessage() {}
-
+/**
+ * Get message from resource bundle files, this function often is called from .js files
+ * @param {String} str know as key in Message Resource bundle file
+ * @param {Array} params parameter that can used to set value in message
+ * @return {String} message string
+ */
I18NMessage.prototype.getMessage = function(str, params) {
var msg;
try {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/PortalHttpRequest.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/PortalHttpRequest.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/PortalHttpRequest.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -613,7 +613,10 @@
eXo.session.itvInit() ;
}
} ;
-
+/**
+ * Abort an ajax request
+ * @return
+ */
function ajaxAbort() {
eXo.core.UIMaskLayer.removeMasks(eXo.portal.AjaxRequest.maskLayer) ;
eXo.portal.AjaxRequest.maskLayer = null ;
@@ -622,7 +625,12 @@
eXo.portal.CurrentRequest.aborted = true ;
eXo.portal.CurrentRequest = null ;
} ;
-
+/**
+ * Create a ajax request
+ * @param {String} url - Url
+ * @param {boolean} async - asynchronous or none
+ * @return {String} response text if request is not async
+ */
function ajaxAsyncGetRequest(url, async) {
if(async == undefined) async = true ;
var request = eXo.core.Browser.createHttpRequest() ;
@@ -635,7 +643,11 @@
}
if(!async) return request.responseText ;
}
-
+/**
+ * Redirect browser to url
+ * @param url
+ * @return
+ */
function ajaxRedirect(url) {
url = url.replace(/&/g, "&") ;
window.location.href = url ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortal.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortal.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortal.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -112,7 +112,10 @@
controlPortlet.style.display = eXo.portal.portalMode == 4 ? "none" : "block";
}
};
-
+/**
+ * Get all UIPortlets of current UIWorkingWorkspace
+ * @return {Array} Array of UIComponents
+ */
UIPortal.prototype.getUIPortlets = function() {
var uiWorkingWorkspace = document.getElementById("UIWorkingWorkspace") ;
var founds = eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace, "div", "UIPortlet") ;
@@ -122,7 +125,10 @@
}
return components ;
} ;
-
+/**
+ * Get all UIPortlets is children of UIWorkingWorkspace
+ * @return {Array} Array of UIComponents
+ */
UIPortal.prototype.getUIPortletsInUIPortal = function() {
var uiWorkingWorkspace = document.getElementById("UIWorkingWorkspace") ;
var founds = eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace, "div", "UIPortlet") ;
@@ -134,7 +140,10 @@
}
return components ;
} ;
-
+/**
+ * Get all UIPortlets in UIPage
+ * @return {Array} components array of UIComponent objects
+ */
UIPortal.prototype.getUIPortletsInUIPage = function() {
var uiPage = document.getElementById("UIPage") ;
var founds = eXo.core.DOMUtil.findDescendantsByClass(uiPage, "div", "UIPortlet");
@@ -144,7 +153,10 @@
}
return components ;
} ;
-
+/**
+ * Get All UIContainers in current UIWorkingWorkspace
+ * @return {Array} components array of UIComponent objects
+ */
UIPortal.prototype.getUIContainers = function() {
var uiWorkingWorkspace = document.getElementById("UIWorkingWorkspace") ;
var founds = eXo.core.DOMUtil.findDescendantsByClass(uiWorkingWorkspace, "div", "UIContainer");
@@ -154,18 +166,28 @@
}
return components ;
};
-
+/**
+ * Get current UIPageBody
+ * @return {Object} UIPageBody object of this document
+ */
UIPortal.prototype.getUIPageBody = function() {
// var uiPortal = document.getElementById("UIPortal") ;
// return new UIComponent(eXo.core.DOMUtil.findFirstDescendantByClass(uiPortal, "div", "UIPage")) ;
return new UIComponent(document.getElementById("UIPageBody")) ;
};
-
+/**
+ * Get current UIPortal
+ * @return {Object} UIComponent object that contains UIPortal object of this component
+ */
UIPortal.prototype.getUIPortal = function() {
var uiWorkingWorkspace = document.getElementById("UIWorkingWorkspace") ;
return new UIComponent(eXo.core.DOMUtil.findFirstDescendantByClass(uiWorkingWorkspace, "div", "UIPortal"));
};
-
+/**
+ * Change page mode from view mode to layout mode
+ * @param {Object} uicomponent component contains this view (layout)
+ * @param {boolean} swapContent indicate changing content or not
+ */
UIPortal.prototype.switchViewModeToLayoutMode = function(uicomponent, swapContent) {
var layoutBlock = uicomponent.getLayoutBlock() ;
if(!layoutBlock || layoutBlock.style.display == 'block') return ;
@@ -182,7 +204,11 @@
viewBlock.style.display = "none" ;
} catch (err) {}
};
-
+/**
+ * Change page mode from layout mode to view mode
+ * @param {Object} uicomponent component contains this layout (view)
+ * @param {boolean} swapContent indicate changing content or not
+ */
UIPortal.prototype.switchLayoutModeToViewMode = function(uicomponent, swapContent) {
var viewBlock = uicomponent.getViewBlock() ;
if(!viewBlock || viewBlock.style.display == 'block') return ;
@@ -226,7 +252,10 @@
// this.showLayoutModeForPortal() ;
// }
//};
-
+/**
+ * Switch mode of page
+ * @param {Object} elemtClicked clicked element
+ */
UIPortal.prototype.switchModeForPage = function(elemtClicked) {
var layoutMode = this.showViewLayoutModeForPage();
if(layoutMode == 1) {
@@ -237,7 +266,11 @@
this.showMaskLayer() ;
}
} ;
-
+/**
+ * Show area for dnd into this UIComponent
+ * @param {Object} uiComponent component contains control block
+ * @param {boolean} flag display (blocking) or hide control block
+ */
UIPortal.prototype.showUIComponentControl = function(uicomponent, flag) {
var controlBlock = uicomponent.getControlBlock() ;
if(!controlBlock) return ;
@@ -250,7 +283,10 @@
// controlBlock.style.display = 'none' ;
// }
};
-
+/**
+ * Change page to layout view
+ * @return layoutMode type of view mode (0, 1)
+ */
UIPortal.prototype.showViewLayoutModeForPage = function() {
/*
* minh.js.exo;
@@ -437,7 +473,9 @@
}
return null ;
};
-
+/**
+ * Display Mask layer infront of page's surface
+ */
UIPortal.prototype.showMaskLayer = function() {
var uiPortalApplication = document.getElementById("UIPortalApplication") ;
var object = document.createElement("div") ;
@@ -463,7 +501,9 @@
this.maskLayer.style.zIndex = parseInt(object.style.zIndex) + 1 ;
eXo.core.Browser.addOnScrollCallback("3743892", eXo.core.UIMaskLayer.setPosition) ;
} ;
-
+/**
+ * Hide (remove) mask layer from page's surface
+ */
UIPortal.prototype.hideMaskLayer = function() {
if(this.maskLayer) {
var uiPortalApplication = document.getElementById("UIPortalApplication") ;
@@ -473,7 +513,10 @@
uiPortalApplication.removeChild(maskObject) ;
}
} ;
-
+/**
+ * Change skin of Portal
+ * @param url
+ */
UIPortal.prototype.changeSkin = function(url) {
var skin = '';
if(eXo.webui.UIItemSelector.SelectedItem != undefined) {
@@ -483,7 +526,10 @@
//ajaxAsyncGetRequest(url + '&skin='+skin, false);
window.location = url + '&skin='+skin;
} ;
-
+/**
+ * Change language of Portal
+ * @param url
+ */
UIPortal.prototype.changeLanguage = function(url) {
var language = '';
if(eXo.webui.UIItemSelector.SelectedItem != undefined) {
@@ -493,7 +539,9 @@
//ajaxAsyncGetRequest(url + '&language='+language, false);
window.location = url + '&language='+language;
} ;
-
+/**
+ * Change current portal
+ */
UIPortal.prototype.changePortal = function(accessPath, portal) {
window.location = eXo.env.server.context + "/" + accessPath + "/" + portal+"/";
} ;
@@ -503,7 +551,10 @@
if(action == undefined) action = '';
window.location = url + '&action='+ action ;
} ;
-
+/**
+ * Remove a component of portal
+ * @param {String} componentId identifier of component
+ */
UIPortal.prototype.removeComponent = function(componentId) {
var comp = document.getElementById(componentId);
var viewPage = eXo.core.DOMUtil.findAncestorByClass(comp, "VIEW-PAGE");
@@ -521,7 +572,9 @@
}
};
-
+/**
+ * Change Save button to editing state
+ */
UIPortal.prototype.changeComposerSaveButton = function() {
if(eXo.portal.hasEditted == false) {
var uiWorkingWS = document.getElementById("UIWorkingWorkspace");
@@ -551,7 +604,10 @@
var requestStr = eXo.env.server.createPortalURL(portalComposer.id, "Toggle", true);
ajaxAsyncGetRequest(requestStr);
};
-
+/**
+ * Clollapse or expand an element (all its children) of tree
+ * @param {Object} element object to collapse or expand
+ */
UIPortal.prototype.collapseExpand = function(element) {
var subGroup = eXo.core.DOMUtil.findFirstChildByClass(element.parentNode, "div", "ChildrenContainer") ;
var className = element.className;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIPortalControl.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -21,7 +21,11 @@
this.scrollManagers = new Array();
this.t = 0;
};
-
+/**
+ * Change state of window
+ * @param {String} id object identifier
+ * @param {String} state state will be displayed (maximized, minimized, normal)
+ */
UIPortalControl.prototype.changeWindowState = function(id, state) {
var params = [
{name: "portletId", value: id},
@@ -29,8 +33,10 @@
] ;
ajaxGet(eXo.env.server.createPortalURL("UIPortal", "ChangeWindowState", true, params));
};
-
-/*For Navigation Tree*/
+/**
+ * Collapse tree, use for Navigation Tree
+ * @param {Object} selectedElement first object of tree
+ */
UIPortalControl.prototype.collapseTree = function(selectedElement ) {
var DOMUtil = eXo.core.DOMUtil ;
@@ -346,7 +352,9 @@
if (this.scrollMgr) this.scrollMgr.scrollRight();
};
-
+/**
+ * Get all visible elements
+ */
ScrollManager.prototype.getVisibleElements = function() {
var availableSpace = this.getElementSpace(this.mainContainer) - this.getElementSpace(this.arrowsContainer);
var refereceIndex = 0;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIWorkspace.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIWorkspace.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/portal/UIWorkspace.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -28,7 +28,9 @@
if(eXo.portal.UIWorkingWorkspace == undefined) {
eXo.portal.UIWorkingWorkspace = new UIWorkspace("UIWorkingWorkspace") ;
};
-
+/**
+ * Resize UIControlWorkspace document object to fit on the screen
+ */
eXo.portal.UIWorkingWorkspace.onResize = function() {
var uiWorkspace = document.getElementById(eXo.portal.UIWorkingWorkspace.id) ;
if(eXo.core.Browser.isIE6()) {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDashboard.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -395,7 +395,11 @@
var deltaY = Math.ceil((uiDashboard.offsetHeight - popup.offsetHeight) / 2);
popup.style.top = eXo.core.Browser.findPosY(uiDashboard) + deltaY + "px";
};
-
+ /**
+ * Build a UITarget element (div element) with properties in parameters
+ * @param {Number} width
+ * @param {Number} height
+ */
UIDashboard.prototype.createTarget = function(width, height) {
var uiTarget = document.createElement("div");
uiTarget.id = "UITarget";
@@ -404,7 +408,10 @@
uiTarget.style.height = height + "px";
return uiTarget;
};
-
+ /**
+ * Build a UITarget element (div element) with properties equal to object's properties in parameter
+ * @param {Object} obj object
+ */
UIDashboard.prototype.createTargetOfAnObject = function(obj) {
var uiTarget = document.createElement("div");
uiTarget.id = "UITarget";
@@ -412,7 +419,10 @@
uiTarget.style.height = obj.offsetHeight + "px";
return uiTarget;
};
-
+ /**
+ * Show and hide gadget list for selecting gadget in dashboard
+ * @param {Object} comp indicate action show and hide, if it is close button, action is hide
+ */
UIDashboard.prototype.showHideSelectContainer = function(event) {
if(!event) event = window.event;
var DOMUtil = eXo.core.DOMUtil;
@@ -438,7 +448,12 @@
ajaxGet(url);
}
};
-
+ /**
+ * Using when click event happens on a dashboard tab
+ * @param {Object} clickElement
+ * @param {String} normalStyle a css style
+ * @param {String} selectedType a css style
+ */
UIDashboard.prototype.onTabClick = function(clickElement, normalStyle, selectedType) {
var DOMUtil = eXo.core.DOMUtil;
var category = DOMUtil.findAncestorByClass(clickElement, "GadgetCategory");
@@ -459,7 +474,10 @@
categoryContent.style.display = "none";
}
};
-
+ /**
+ * Change disabled object to enable state
+ * @param {Object} elemt object to enable
+ */
UIDashboard.prototype.enableContainer = function(elemt) {
var DOMUtil = eXo.core.DOMUtil;
if(DOMUtil.hasClass(elemt, "DisableContainer")) {
@@ -468,7 +486,10 @@
var arrow = DOMUtil.findFirstChildByClass(elemt, "div", "Arrow");
if(DOMUtil.hasClass(arrow, "DisableArrowIcon")) DOMUtil.replaceClass(arrow," DisableArrowIcon", "");
};
-
+ /**
+ * Change object to disable state
+ * @param {Object} elemt object to enable
+ */
UIDashboard.prototype.disableContainer = function(elemt) {
var DOMUtil = eXo.core.DOMUtil;
if(!DOMUtil.hasClass(elemt, "DisableContainer")) {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDropDownControl.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDropDownControl.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIDropDownControl.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -31,7 +31,11 @@
/*.
* minh.js.exo
*/
-
+/**
+ * show or hide drop down control
+ * @param {Object} obj document object to use as Anchor for drop down
+ * @param {Object} evet event object
+ */
UIDropDownControl.prototype.show = function(obj, evt) {
if(!evt) evt = window.event ;
evt.cancelBubble = true ;
@@ -77,12 +81,20 @@
}
} ;
-
+/**
+ * Hide an object
+ * @param {Object, String} obj object to hide
+ */
UIDropDownControl.prototype.hide = function(obj) {
if (typeof(obj) == "string") obj = document.getElementById(obj) ;
obj.style.display = "none" ;
} ;
-
+/**
+ * Use as event when user selects a item in drop down list
+ * Display content of selected item and hide drop down control
+ * @param {Object} obj selected object
+ * @param {Object} evt event
+ */
UIDropDownControl.prototype.onclickEvt = function(obj, evt) {
var DOMUtil = eXo.core.DOMUtil ;
var uiDropDownAnchor = DOMUtil.findAncestorByClass(obj, 'UIDropDownAnchor') ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIForm.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIForm.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIForm.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -22,7 +22,11 @@
*/
function UIForm() {
};
-
+/**
+ * Get form element with pattern condition
+ * @param {String} pattern
+ * The pattern can be Id#Id, example: Account#UIAccountForm
+ */
UIForm.prototype.getFormElemt = function(pattern) {
if(pattern.indexOf("#") == -1) return document.getElementById(pattern) ;
var strArr = pattern.split("#") ;
@@ -30,10 +34,10 @@
return eXo.core.DOMUtil.findDescendantById(portlet, strArr[1]) ;
}
-/*ie bug you cannot have more than one button tag*/
/**
* A function that submits the form identified by formId, with the specified action
* If useAjax is true, calls the ajaxPost function from PortalHttpRequest, with the given callback function
+ * Note: ie bug you cannot have more than one button tag
*/
UIForm.prototype.submitForm = function(formId, action, useAjax, callback) {
if (!callback) callback = null;
@@ -60,10 +64,10 @@
else form.submit();
} ;
-/*ie bug you cannot have more than one button tag*/
/**
* Submits a form by Ajax, with the given action and the given parameters
* Calls ajaxPost of PortalHttpRequest
+ * Note: ie bug you cannot have more than one button tag
*/
UIForm.prototype.submitEvent = function(formId, action, params) {
var form = this.getFormElemt(formId) ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIItemSelector.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIItemSelector.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIItemSelector.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -21,7 +21,11 @@
this.backupClass;
this.backupItem;
};
-
+/**
+ * Mouse over event, Set highlight to OverItem
+ * @param {Object} selectedElement focused element
+ * @param {boolean} mouseOver
+ */
UIItemSelector.prototype.onOver = function(selectedElement, mouseOver) {
if(selectedElement.className == "Item"){
eXo.webui.UIItemSelector.beforeActionHappen(selectedElement);
@@ -36,7 +40,11 @@
// this.onChangeItemDetail(selectedElement, false);
}
};
-
+/**
+ * Mouse click event, highlight selected item and non-highlight other items
+ * There are 3 types of item: Item, OverItem, SeletedItem
+ * @param {Object} clickedElement
+ */
UIItemSelector.prototype.onClick = function(clickedElement) {
var itemListContainer = clickedElement.parentNode;
var allItems = eXo.core.DOMUtil.findDescendantsByClass(itemListContainer, "div", "Item");
@@ -53,7 +61,11 @@
}
}
};
-
+/**
+ * Change UI of new selected item, selected item will be displayed and others will be hidden
+ * @param {Object} itemSelected selected item
+ * @param {boolean} mouseOver
+ */
UIItemSelector.prototype.onChangeItemDetail = function(itemSelected, mouseOver) {
if(!this.allItems || this.allItems.length <= 0 ) return;
if(mouseOver) {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UINotification.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UINotification.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UINotification.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -38,7 +38,10 @@
})
}
}
-
+/**
+ * Display notification on sliding down
+ * @param {String} objectName identifier of notification object
+ */
UINotification.prototype.slideDown = function(objectName){
if(this.moving[objectName]) return;
if(document.getElementById(objectName).style.display != "none") return;
@@ -46,20 +49,27 @@
this.dir[objectName] = "down";
this.startSlide(objectName);
}
-
+/**
+ * Set sliding down and up
+ */
UINotification.prototype.slideDownUp = function(objectName, endSlideUpCallback){
this.slideDown(objectName);
this.endSlideUpCallback[objectName] = endSlideUpCallback;
if(this.flagNoti[objectName]) setTimeout("eXo.webui.UINotification.slideUp('" + objectName + "')", 3000);
}
-
+/**
+ * Event when user click "x" close button on the notification
+ * If notify content is important, immediately it will not be close and uses closing timeout
+ */
UINotification.prototype.closeNotification = function() {
for(var i = 0; i < this.importantNoti.length; i ++) {
this.flagNoti[this.importantNoti[i]] = true;
setTimeout("eXo.webui.UINotification.slideUp('" + this.importantNoti[i] + "')", 100);
}
}
-
+/**
+ * Display (hide) notification as sliding up
+ */
UINotification.prototype.slideUp = function(objectName){
if(this.moving[objectName]) return;
if(document.getElementById(objectName).style.display == "none") return;
@@ -67,7 +77,10 @@
this.dir[objectName] = "up";
this.startSlide(objectName);
}
-
+/**
+ * Start slide animation
+ * @param {String} objectName identifier of notification object
+ */
UINotification.prototype.startSlide = function(objectName){
this.object[objectName] = document.getElementById(objectName);
this.endHeight[objectName] = parseInt(this.object[objectName].style.height);
@@ -78,7 +91,10 @@
this.object[objectName].style.display = "block";
this.timerID[objectName] = setInterval('eXo.webui.UINotification.slideTick(\'' + objectName + '\');',this.timerlen);
}
-
+/**
+ * Calculate height property every tick time
+ * @param {String} objectName name of object
+ */
UINotification.prototype.slideTick = function(objectName){
var elapsed = (new Date()).getTime() - this.startTime[objectName];
if (elapsed > this.slideAniLen)
@@ -91,12 +107,16 @@
}
return;
}
-
+/**
+ * Remove notification from page body
+ */
UINotification.prototype.destroyUINotification = function(){
var UINotification = document.getElementById("UINotification");
document.getElementsByTagName("body")[0].removeChild(UINotification);
}
-
+/**
+ * End sliding, clean and destroy resource
+ */
UINotification.prototype.endSlide = function(objectName){
clearInterval(this.timerID[objectName]);
if(this.dir[objectName] == "up") {
@@ -120,12 +140,18 @@
delete(this.flagNoti[objectName]);
return;
}
-
+/**
+ * Remove object from document
+ * @param {String} objectName identifier of Object
+ */
UINotification.prototype.deleteBox = function(objectName) {
var el = document.getElementById(objectName);
el.parentNode.removeChild(el);
}
-
+/**
+ * Create frame that contains whole notification content
+ * @return {String} htmlString html string
+ */
UINotification.prototype.createFrameForMessages = function() {
var htmlString = "";
htmlString += "<div class=\"UIPopupNotification\">";
@@ -154,7 +180,11 @@
htmlString += "</div>";
return htmlString;
}
-
+/**
+ * Add message content to notification
+ * @param {String} messageContent content to notify
+ * @param {boolean} flag
+ */
UINotification.prototype.addMessage = function(messageContent, flag) {
var currMessageBoxId = "UIMessageBox_" + this.numberMessageRecepted++;
var UIMessageContent = document.createElement('div');
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupMenu.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupMenu.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupMenu.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -27,16 +27,33 @@
this.currentVisibleContainers = new Array();
this.currentElement = null;
} ;
-
+/**
+ * initialize UIPopupMenu
+ * @param {Object, String} popupMenu popup object
+ * @param {Object} container
+ * @param {Number} x
+ * @param {Number} y
+ */
UIPopupMenu.prototype.init = function(popupMenu, container, x, y) {
this.superClass = eXo.webui.UIPopup;
this.superClass.init(popupMenu, container.id) ;
} ;
-
+/**
+ * Set position to a popup
+ * @param {Object} popupMenu
+ * @param {Number} x x axis
+ * @param {Number} y y axis
+ * @param {boolean} isRTL right to left flag
+ */
UIPopupMenu.prototype.setPosition = function(popupMenu, x, y, isRTL) {
this.superClass.setPosition(popupMenu, x, y, isRTL) ;
};
-
+/**
+ * Set size to a popup
+ * @param {Object} popupMenu
+ * @param {Number} w width
+ * @param {Number} h height
+ */
UIPopupMenu.prototype.setSize = function(popup, w, h) {
this.superClass.setSize(popupMenu, w, h) ;
} ;
@@ -115,13 +132,19 @@
*/
this.superClass.setPosition(menuItemContainer, x, y) ;
} ;
-
+/**
+ * Change object to hidden state
+ * @param {Object} object to hide
+ */
UIPopupMenu.prototype.hide = function(object) {
if(typeof(object) == "string") object = document.getElementById(object);
object.style.display = "none" ;
object.style.visibility = "hidden";
} ;
-
+/**
+ * Change object to visibility state
+ * @param {Object} object to hide
+ */
UIPopupMenu.prototype.show = function(object) {
if(typeof(object) == "string") object = document.getElementById(object);
object.style.display = "block" ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupSelectCategory.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupSelectCategory.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPopupSelectCategory.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -19,6 +19,9 @@
function UIPopupSelectCategory() {
} ;
+/**
+ * Hide all hidden elements, it is used while showing UIPopupCategory
+ */
UIPopupSelectCategory.prototype.hide = function() {
var ln = eXo.core.DOMUtil.hideElementList.length ;
if (ln > 0) {
@@ -27,7 +30,11 @@
}
}
} ;
-
+/**
+ * Show UIPopupCategory object
+ * @param {Object} obj document object contains UIPopupCategory
+ * @param {Event} evt
+ */
UIPopupSelectCategory.prototype.show = function(obj, evt){
if(!evt) evt = window.event ;
evt.cancelBubble = true ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPortlet.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPortlet.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIPortlet.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -20,7 +20,12 @@
function UIPortlet() {
this.maxIndex = 0;
} ;
-
+/**
+ * Event when mouse focuses to element, this function is called when user minimizes or
+ * maximized portlet window
+ * @param {Object} element focusing element
+ * @param {boolean} isOver know as mouse over or out
+ */
UIPortlet.prototype.onControlOver = function(element, isOver) {
var originalElementName = element.className ;
if(isOver) {
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIRightClickPopupMenu.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIRightClickPopupMenu.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIRightClickPopupMenu.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -18,7 +18,10 @@
*/
function UIRightClickPopupMenu() {};
-
+/**
+ * Initialize a UIRightClickPopupMenu object
+ * @param contextMenuId identifier of a document object
+ */
UIRightClickPopupMenu.prototype.init = function(contextMenuId) {
var contextMenu = document.getElementById(contextMenuId) ;
// TODO: Fix temporary for the problem Minimize window in Page Mode
@@ -32,14 +35,20 @@
var parentNode = contextMenu.parentNode ;
this.disableContextMenu(parentNode) ;
}
-
+/**
+ * Hide and disable mouse down event of context menu object
+ * @param contextId identifier of context menu
+ */
UIRightClickPopupMenu.prototype.hideContextMenu = function(contextId) {
if (document.getElementById(contextId)) {
document.getElementById(contextId).style.display = 'none' ;
eXo.core.MouseEventManager.onMouseDownHandlers = null ;
}
}
-
+/**
+ * Disable default context menu of browser
+ * @param comp identifier or document object
+ */
UIRightClickPopupMenu.prototype.disableContextMenu = function(comp) {
if(typeof(comp) == "string") comp = document.getElementById(comp) ;
comp.onmouseover = function() {
@@ -49,7 +58,11 @@
document.oncontextmenu = function() {return true} ;
}
};
-
+/**
+ * Prepare something for context menu
+ * @param {Object} evt event
+ * @param {Object} elemt document object that contains context menu
+ */
UIRightClickPopupMenu.prototype.prepareObjectId = function(evt, elemt) {
var contextMenu = eXo.core.DOMUtil.findAncestorByClass(elemt, "UIRightClickPopupMenu") ;
contextMenu.style.display = "none" ;
@@ -62,7 +75,15 @@
elemt.setAttribute('href', href.replace('_objectid_', encodeURI(contextMenu.objId.replace(/'/g, "\\'")))) ;
return true;
}
-
+/**
+ * Mouse click on element, If click is right-click, the context menu will be shown
+ * @param {Object} event
+ * @param {Object} elemt clicked element
+ * @param {String} menuId identifier of context menu will be shown
+ * @param {String} objId object identifier in tree
+ * @param {Array} params
+ * @param {Number} opt option
+ */
UIRightClickPopupMenu.prototype.clickRightMouse = function(event, elemt, menuId, objId, params, opt) {
if (!event) event = window.event;
eXo.core.MouseEventManager.docMouseDownEvt(event) ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIToolbar.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIToolbar.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIToolbar.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -18,7 +18,10 @@
*/
function UIToolbar() {};
-
+/**
+ * Display clicked element on block state
+ * @param {Object} clickedEle clicked object
+ */
UIToolbar.prototype.displayBlockContent = function(clickedEle) {
if(clickedEle == null) return;
var uiToolbar = eXo.core.DOMUtil.findAncestorByClass(clickedEle, "UIToolbar");
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUpload.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUpload.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUpload.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -22,7 +22,11 @@
this.isAutoUpload = false;
//this.listLimitMB = new Array();
};
-
+/**
+ * Initialize upload and create a upload request to server
+ * @param {String} uploadId identifier upload
+ * @param {boolean} isAutoUpload auto upload or none
+ */
UIUpload.prototype.initUploadEntry = function(uploadId, isAutoUpload) {
var url = eXo.env.server.context + "/command?" ;
url += "type=org.exoplatform.web.command.handler.UploadHandler&action=progress&uploadId="+uploadId ;
@@ -74,7 +78,10 @@
idoc.close();
};
-
+/**
+ * Refresh progress bar to update state of upload progress
+ * @param {String} elementId identifier of upload bar frame
+ */
UIUpload.prototype.refeshProgress = function(elementId) {
var list = eXo.webui.UIUpload.listUpload;
if(list.length < 1) return;
@@ -124,7 +131,11 @@
"<span onclick='parent.eXo.webui.UIUpload.abortUpload("+id+")'>Abort</span>";
}
};
-
+/**
+ * Show uploaded state when upload has just finished a file
+ * @param {String} id uploaded identifier
+ * @param {String} fileName uploaded file name
+ */
UIUpload.prototype.showUploaded = function(id, fileName) {
eXo.webui.UIUpload.listUpload.remove(id);
var container = parent.document.getElementById(id);
@@ -148,7 +159,10 @@
var input = parent.document.getElementById('input' + id);
input.value = "true" ;
};
-
+/**
+ * Abort upload process
+ * @param {String} id upload identifier
+ */
UIUpload.prototype.abortUpload = function(id) {
eXo.webui.UIUpload.listUpload.remove(id);
var url = eXo.env.server.context + "/command?" ;
@@ -178,7 +192,10 @@
var input = parent.document.getElementById('input' + id);
input.value = "false";
};
-
+/**
+ * Delete uploaded file
+ * @param {String} id upload identifier
+ */
UIUpload.prototype.deleteUpload = function(id) {
var url = eXo.env.server.context + "/command?";
url += "type=org.exoplatform.web.command.handler.UploadHandler&uploadId=" +id+"&action=delete" ;
@@ -206,7 +223,11 @@
input.value = "false";
} ;
-
+/**
+ * Start upload file
+ * @param {Object} clickEle
+ * @param {String} id
+ */
UIUpload.prototype.upload = function(clickEle, id) {
var DOMUtil = eXo.core.DOMUtil;
var container = parent.document.getElementById(id);
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUserSelector.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUserSelector.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIUserSelector.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -19,7 +19,10 @@
function UIUserSelector() {
} ;
-
+/**
+ * Init information and event for items table
+ * @param {Object, String} cont Object or identifier of Object that contains items table
+ */
UIUserSelector.prototype.init = function(cont) {
if(typeof(cont) == "string") cont = document.getElementById(cont) ;
var checkboxes = eXo.core.DOMUtil.findDescendantsByClass(cont, "input", "checkbox") ;
@@ -30,21 +33,32 @@
checkboxes[i].onclick = this.check ;
}
} ;
-
+/**
+ * Check or uncheck all items in table
+ */
UIUserSelector.prototype.checkAll = function() {
eXo.webui.UIUserSelector.checkAllItem(this);
} ;
-
+/**
+ * Get all item in table list
+ * @param {Object} obj first object of table
+ */
UIUserSelector.prototype.getItems = function(obj) {
var table = eXo.core.DOMUtil.findAncestorByTagName(obj, "table");
var checkboxes = eXo.core.DOMUtil.findDescendantsByClass(table, "input","checkbox");
return checkboxes ;
} ;
-
+/**
+ * Check and uncheck first item
+ */
UIUserSelector.prototype.check = function() {
eXo.webui.UIUserSelector.checkItem(this);
} ;
-
+/**
+ * check and uncheck all items in table
+ * @param {Object} obj first object of table, if obj.checked is true, check all item.
+ * obj.checked is false, uncheck all items
+ */
UIUserSelector.prototype.checkAllItem = function(obj){
var checked = obj.checked ;
var items = eXo.webui.UIUserSelector.getItems(obj) ;
@@ -53,7 +67,10 @@
items[i].checked = checked ;
}
} ;
-
+/**
+ * Check and uncheck first item, state has dependence on obj state
+ * @param {Object} obj selected object
+ */
UIUserSelector.prototype.checkItem = function(obj){
var checkboxes = eXo.webui.UIUserSelector.getItems(obj);
var len = checkboxes.length;
@@ -68,7 +85,10 @@
checkboxes[0].checked = state;
}
} ;
-
+/**
+ * Get key code of pressed key
+ * @param {Object} event event that user presses a key
+ */
UIUserSelector.prototype.getKeynum = function(event) {
var keynum = false ;
if(window.event) { /* IE */
@@ -82,13 +102,19 @@
}
return keynum ;
} ;
-
+/**
+ * Process event when user presses a key
+ * @param {Object} evt event
+ */
UIUserSelector.prototype.captureInput = function(input, action) {
if(typeof(input) == "string") input = document.getElementById(input) ;
input.form.onsubmit = eXo.webui.UIUserSelector.cancelSubmit ;
input.onkeypress= eXo.webui.UIUserSelector.onEnter ;
} ;
-
+/**
+ * Process event when user presses a Enter key
+ * @param {Object} evt event
+ */
UIUserSelector.prototype.onEnter = function(evt) {
var _e = evt || window.event ;
_e.cancelBubble = true ;
@@ -100,7 +126,9 @@
eval(action) ;
}
} ;
-
+/**
+ * Cancel submit action
+ */
UIUserSelector.prototype.cancelSubmit = function() {
return false ;
} ;
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVerticalSlideTabs.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVerticalSlideTabs.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVerticalSlideTabs.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -64,7 +64,12 @@
}
}
};
-
+/**
+ * Action when user clicks on item of vertical tab
+ * @param cleckedElement clicked element
+ * @param normalStyle a css class indicate normal state
+ * @param selectedStyle a css class indicate selected state
+ */
UIVerticalSlideTabs.prototype.onTabClick = function(clickedElement, normalStyle, selectedStyle) {
var uiClickedVTab = eXo.core.DOMUtil.findAncestorByClass(clickedElement, "UIVTab");
var uiClickedVTabContent = eXo.core.DOMUtil.findFirstChildByClass(uiClickedVTab, "div", "UIVTabContent");
Modified: portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo.js
===================================================================
--- portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo.js 2010-06-03 09:01:43 UTC (rev 3230)
+++ portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo.js 2010-06-04 07:49:45 UTC (rev 3231)
@@ -16,7 +16,9 @@
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-
+/**
+ * This class contains common js object that used in whole portal
+ */
var eXo = {
animation : { },
@@ -57,7 +59,7 @@
i18n : { }
} ;
-/*
+/**
* This method will :
* 1) dynamically load a javascript module from the server (if no root location is set
* then use '/eXoResources/javascript/', aka files
@@ -95,7 +97,15 @@
alert(err + " : " + request.responseText) ;
}
} ;
-
+/**
+ * Make url portal request with parameters
+ *
+ * @param targetComponentId identifier of component
+ * @param actionName name of action
+ * @param useAjax indicate Ajax request or none
+ * @param params array contains others parameters
+ * @return full url request
+ */
eXo.env.server.createPortalURL = function(targetComponentId, actionName, useAjax, params) {
var href = eXo.env.server.portalBaseURL + "?portal:componentId=" + targetComponentId + "&portal:action=" + actionName ;
@@ -108,7 +118,9 @@
if(useAjax) href += "&ajaxRequest=true" ;
return href ;
} ;
-
+/**
+ * log out of user session
+ */
eXo.portal.logout = function() {
window.location = eXo.env.server.createPortalURL("UIPortal", "Logout", false) ;
} ;
14 years, 6 months
gatein SVN: r3230 - portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component.
by do-not-reply@jboss.org
Author: ndkhoiits
Date: 2010-06-03 05:01:43 -0400 (Thu, 03 Jun 2010)
New Revision: 3230
Modified:
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UICategorySelector.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIGadgetInfo.java
portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java
Log:
GTNPORTAL-1291 Set UICategorySelector's ID when added into UIPortletInfo or UIGadgetInfo
get UIContainer instead of UIGadgetInfo when raise cancel action on UICategorySelector
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UICategorySelector.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UICategorySelector.java 2010-06-03 08:27:47 UTC (rev 3229)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UICategorySelector.java 2010-06-03 09:01:43 UTC (rev 3230)
@@ -164,9 +164,9 @@
public void execute(Event<UICategorySelector> event) throws Exception
{
UICategorySelector selector = event.getSource();
- UIGadgetInfo gadgetInfo = selector.getParent();
- gadgetInfo.getChild(UICategorySelector.class).setRendered(false);
- event.getRequestContext().addUIComponentToUpdateByAjax(gadgetInfo);
+ UIContainer appInfo = selector.getParent();
+ appInfo.getChild(UICategorySelector.class).setRendered(false);
+ event.getRequestContext().addUIComponentToUpdateByAjax(appInfo);
}
}
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIGadgetInfo.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIGadgetInfo.java 2010-06-03 08:27:47 UTC (rev 3229)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIGadgetInfo.java 2010-06-03 09:01:43 UTC (rev 3230)
@@ -54,12 +54,13 @@
@Serialized
public class UIGadgetInfo extends UIContainer
{
+ private static String CATEGORY_ID = "GadgetCategory";
private Gadget gadget_;
public UIGadgetInfo() throws Exception
{
- addChild(UICategorySelector.class, null, null);
+ addChild(UICategorySelector.class, null, CATEGORY_ID);
}
public Gadget getGadget()
@@ -186,7 +187,7 @@
Gadget gadget = gadgetInfo.getGadget();
gadgetInfo.removeChild(UICategorySelector.class);
- UICategorySelector selector = gadgetInfo.addChild(UICategorySelector.class, null, null);
+ UICategorySelector selector = gadgetInfo.addChild(UICategorySelector.class, null, CATEGORY_ID);
Application app = new Application();
app.setApplicationName(gadget.getName());
app.setType(ApplicationType.GADGET);
Modified: portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java
===================================================================
--- portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java 2010-06-03 08:27:47 UTC (rev 3229)
+++ portal/trunk/portlet/exoadmin/src/main/java/org/exoplatform/applicationregistry/webui/component/UIPortletInfo.java 2010-06-03 09:01:43 UTC (rev 3230)
@@ -44,11 +44,12 @@
@Serialized
public class UIPortletInfo extends UIContainer
{
+ private static String CATEGORY_ID = "PortletCategory";
private PortletExtra portlet_;
public UIPortletInfo() throws Exception
{
- addChild(UICategorySelector.class, null, null);
+ addChild(UICategorySelector.class, null, CATEGORY_ID);
}
public void setPortlet(PortletExtra portlet)
@@ -70,7 +71,7 @@
UIPortletInfo uiPortletInfo = event.getSource();
PortletExtra portlet = uiPortletInfo.getPortlet();
uiPortletInfo.removeChild(UICategorySelector.class);
- UICategorySelector selector = uiPortletInfo.addChild(UICategorySelector.class, null, null);
+ UICategorySelector selector = uiPortletInfo.addChild(UICategorySelector.class, null, CATEGORY_ID);
Application app = new Application();
app.setApplicationName(portlet.getName());
app.setType(ApplicationType.PORTLET);
14 years, 6 months
gatein SVN: r3229 - portal/trunk/web/portal/src/main/webapp/groovy/webui/form.
by do-not-reply@jboss.org
Author: trong.tran
Date: 2010-06-03 04:27:47 -0400 (Thu, 03 Jun 2010)
New Revision: 3229
Modified:
portal/trunk/web/portal/src/main/webapp/groovy/webui/form/UIFormUploadInput.gtmpl
Log:
GTNPORTAL-1293 The UIFormUploadInput component does not work in the edit mode of a Portlet
Modified: portal/trunk/web/portal/src/main/webapp/groovy/webui/form/UIFormUploadInput.gtmpl
===================================================================
--- portal/trunk/web/portal/src/main/webapp/groovy/webui/form/UIFormUploadInput.gtmpl 2010-06-03 08:01:19 UTC (rev 3228)
+++ portal/trunk/web/portal/src/main/webapp/groovy/webui/form/UIFormUploadInput.gtmpl 2010-06-03 08:27:47 UTC (rev 3229)
@@ -3,7 +3,7 @@
boolean isAutoUpload = uicomponent.isAutoUpload();
def rcontext = _ctx.getRequestContext();
rcontext.getJavascriptManager().importJavascript('eXo.webui.UIUpload');
- rcontext.getJavascriptManager().addJavascript("eXo.webui.UIUpload.initUploadEntry('"+uploadId+"',"+isAutoUpload+");");
+ rcontext.getJavascriptManager().addCustomizedOnLoadScript("eXo.webui.UIUpload.initUploadEntry('"+uploadId+"',"+isAutoUpload+");");
%>
<div class="UIFormUploadInput" id="$uploadId">
<div class="LimitMessage" style="display: none;"><%= _ctx.appRes("UIFormUploadInput.msg.limit"); %></div>
14 years, 6 months
gatein SVN: r3228 - portal/trunk/web/portal/src/main/webapp/WEB-INF.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-06-03 04:01:19 -0400 (Thu, 03 Jun 2010)
New Revision: 3228
Modified:
portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml
Log:
revert to revision 3226
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml 2010-06-02 07:16:29 UTC (rev 3227)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml 2010-06-03 08:01:19 UTC (rev 3228)
@@ -45,6 +45,11 @@
<event-name>portal.application.lifecycle.event</event-name>
<listener>org.exoplatform.webui.event.ConsoleEventMonitorListener</listener>
</event>
+
+ <event>
+ <event-name>portal.execution.lifecycle.event</event-name>
+ <listener>org.exoplatform.webui.event.ConsoleEventMonitorListener</listener>
+ </event>
</events>
</application>
</webui-configuration>
14 years, 6 months
gatein SVN: r3227 - portal/trunk/web/portal/src/main/webapp/WEB-INF.
by do-not-reply@jboss.org
Author: kien_nguyen
Date: 2010-06-02 03:16:29 -0400 (Wed, 02 Jun 2010)
New Revision: 3227
Modified:
portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml
Log:
GTNPORTAL-1286 Clean redudance key in webui-configuration.xml file
Modified: portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml
===================================================================
--- portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml 2010-06-02 00:32:12 UTC (rev 3226)
+++ portal/trunk/web/portal/src/main/webapp/WEB-INF/webui-configuration.xml 2010-06-02 07:16:29 UTC (rev 3227)
@@ -45,11 +45,6 @@
<event-name>portal.application.lifecycle.event</event-name>
<listener>org.exoplatform.webui.event.ConsoleEventMonitorListener</listener>
</event>
-
- <event>
- <event-name>portal.execution.lifecycle.event</event-name>
- <listener>org.exoplatform.webui.event.ConsoleEventMonitorListener</listener>
- </event>
</events>
</application>
</webui-configuration>
14 years, 6 months
gatein SVN: r3226 - epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US.
by do-not-reply@jboss.org
Author: smumford
Date: 2010-06-01 20:32:12 -0400 (Tue, 01 Jun 2010)
New Revision: 3226
Modified:
epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Book_Info.xml
Log:
Reverting productnumber to 5.0 for staging
Modified: epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Book_Info.xml
===================================================================
--- epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Book_Info.xml 2010-06-02 00:30:41 UTC (rev 3225)
+++ epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Book_Info.xml 2010-06-02 00:32:12 UTC (rev 3226)
@@ -7,7 +7,7 @@
<edition>1.0</edition>
<pubsnumber>1</pubsnumber>
<productname>JBoss Enterprise Portal Platform</productname>
- <productnumber>5.0.0</productnumber>
+ <productnumber>5.0</productnumber>
<abstract>
<para>
These release notes contain important information related to JBoss Enterprise Portal Platform 5.0 that may not be currently available in the Product Manuals. You should read these Release Notes in their entirety before installing JBoss Enterprise Portal Platform 5.0.0.
14 years, 7 months
gatein SVN: r3225 - epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US.
by do-not-reply@jboss.org
Author: smumford
Date: 2010-06-01 20:30:41 -0400 (Tue, 01 Jun 2010)
New Revision: 3225
Modified:
epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Revision_History.xml
Log:
Correcting date in Revision History
Modified: epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Revision_History.xml
===================================================================
--- epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Revision_History.xml 2010-06-02 00:27:24 UTC (rev 3224)
+++ epp/docs/tags/EPP_5_0_0_GA/Enterprise_Portal_Platform_Release_Notes/en-US/Revision_History.xml 2010-06-02 00:30:41 UTC (rev 3225)
@@ -7,7 +7,7 @@
<revhistory>
<revision>
<revnumber>1.0</revnumber>
- <date></date>
+ <date>Tue May 25 2010</date>
<author>
<firstname>Scott</firstname>
<surname>Mumford</surname>
14 years, 7 months