Seam SVN: r7348 - in trunk/examples/wiki: view/themes and 7 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-03 10:21:39 -0500 (Sun, 03 Feb 2008)
New Revision: 7348
Added:
trunk/examples/wiki/view/themes/inrelationto/
trunk/examples/wiki/view/themes/inrelationto/css/
trunk/examples/wiki/view/themes/inrelationto/css/blogArchive.css
trunk/examples/wiki/view/themes/inrelationto/css/blogDirectory.css
trunk/examples/wiki/view/themes/inrelationto/css/blogRecentEntries.css
trunk/examples/wiki/view/themes/inrelationto/css/dirMenu.css
trunk/examples/wiki/view/themes/inrelationto/css/docPager.css
trunk/examples/wiki/view/themes/inrelationto/css/faqBrowser.css
trunk/examples/wiki/view/themes/inrelationto/css/feedAggregator.css
trunk/examples/wiki/view/themes/inrelationto/css/feedTeasers.css
trunk/examples/wiki/view/themes/inrelationto/css/forumList.css
trunk/examples/wiki/view/themes/inrelationto/css/forumPosting.css
trunk/examples/wiki/view/themes/inrelationto/css/forumReplies.css
trunk/examples/wiki/view/themes/inrelationto/css/forumStickyPosting.css
trunk/examples/wiki/view/themes/inrelationto/css/forumTopics.css
trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
trunk/examples/wiki/view/themes/inrelationto/css/jiraIssueList.css
trunk/examples/wiki/view/themes/inrelationto/css/lastModifiedDocuments.css
trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css
trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css
trunk/examples/wiki/view/themes/inrelationto/css/userControl.css
trunk/examples/wiki/view/themes/inrelationto/css/userProfile.css
trunk/examples/wiki/view/themes/inrelationto/img/
trunk/examples/wiki/view/themes/inrelationto/img/attention.gif
trunk/examples/wiki/view/themes/inrelationto/img/blank.gif
trunk/examples/wiki/view/themes/inrelationto/img/btn.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/btn.dateselect.png
trunk/examples/wiki/view/themes/inrelationto/img/btn.nonpersistent.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/check.gif
trunk/examples/wiki/view/themes/inrelationto/img/down.gif
trunk/examples/wiki/view/themes/inrelationto/img/dtpick.gif
trunk/examples/wiki/view/themes/inrelationto/img/equals.gif
trunk/examples/wiki/view/themes/inrelationto/img/hdr.bottomone.gif
trunk/examples/wiki/view/themes/inrelationto/img/hdr.bottomtwo.gif
trunk/examples/wiki/view/themes/inrelationto/img/hdr.topone.gif
trunk/examples/wiki/view/themes/inrelationto/img/hdr.toptwo.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.atom.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.atom.ongrey.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.calendar.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.cut.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.dir.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.dirup.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.doc.default.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.doc.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.filegeneric.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.fileimg.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.filepdf.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.filetxt.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.help.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_goto.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_locked.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_locked_unread.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_sticky.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_sticky_unread.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_unread.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.blocker.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.critical.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.major.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.minor.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.optional.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.trivial.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.resize_s.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.resize_se.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.trash.gif
trunk/examples/wiki/view/themes/inrelationto/img/icon.user.gif
trunk/examples/wiki/view/themes/inrelationto/img/info.gif
trunk/examples/wiki/view/themes/inrelationto/img/input.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/input.error.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/inrelationto.gif
trunk/examples/wiki/view/themes/inrelationto/img/left.gif
trunk/examples/wiki/view/themes/inrelationto/img/menu.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/minus.gif
trunk/examples/wiki/view/themes/inrelationto/img/page.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/page.first.gif
trunk/examples/wiki/view/themes/inrelationto/img/page.last.gif
trunk/examples/wiki/view/themes/inrelationto/img/page.next.gif
trunk/examples/wiki/view/themes/inrelationto/img/page.previous.gif
trunk/examples/wiki/view/themes/inrelationto/img/plus.gif
trunk/examples/wiki/view/themes/inrelationto/img/quote.gif
trunk/examples/wiki/view/themes/inrelationto/img/right.gif
trunk/examples/wiki/view/themes/inrelationto/img/sortindicator.down.gif
trunk/examples/wiki/view/themes/inrelationto/img/sortindicator.up.gif
trunk/examples/wiki/view/themes/inrelationto/img/star.gif
trunk/examples/wiki/view/themes/inrelationto/img/star_grey.gif
trunk/examples/wiki/view/themes/inrelationto/img/statusindicator.gif
trunk/examples/wiki/view/themes/inrelationto/img/th.bg.gif
trunk/examples/wiki/view/themes/inrelationto/img/th.bg.inverse.gif
trunk/examples/wiki/view/themes/inrelationto/img/up.gif
trunk/examples/wiki/view/themes/inrelationto/js/
trunk/examples/wiki/view/themes/inrelationto/js/interface.js
trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js
trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js
trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js
trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js
trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js
trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js
trunk/examples/wiki/view/themes/inrelationto/js/jquery.js
trunk/examples/wiki/view/themes/inrelationto/m/
trunk/examples/wiki/view/themes/inrelationto/m/css/
trunk/examples/wiki/view/themes/inrelationto/m/css/template.css
trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml
trunk/examples/wiki/view/themes/inrelationto/mailtemplates/
trunk/examples/wiki/view/themes/inrelationto/mailtemplates/confirmationRegistration.xhtml
trunk/examples/wiki/view/themes/inrelationto/template.xhtml
Modified:
trunk/examples/wiki/src/etc/WEB-INF/components.xml
Log:
Imported in.relation.to theme
Modified: trunk/examples/wiki/src/etc/WEB-INF/components.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/components.xml 2008-02-03 15:01:48 UTC (rev 7347)
+++ trunk/examples/wiki/src/etc/WEB-INF/components.xml 2008-02-03 15:21:39 UTC (rev 7348)
@@ -141,7 +141,7 @@
<property name="templateValues">
<value>default</value>
<value>sfwkorg</value>
- <!--<value>inrelationto</value>-->
+ <value>inrelationto</value>
</property>
</component>
Added: trunk/examples/wiki/view/themes/inrelationto/css/blogArchive.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/blogArchive.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/blogArchive.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,10 @@
+.blogArchiveSelector {
+ text-align: center;
+}
+.blogArchiveCombo {
+ border: 0;
+ color: #000;
+ font-size: 91%;
+ font-weight: normal;
+ font-family: "Lucida Sans", Arial, Helvetica, sans-serif;
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/blogDirectory.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/blogDirectory.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/blogDirectory.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,102 @@
+#blogDirectoryPlugin\:blogEntries .boxheader {
+ padding-bottom: 0;
+}
+
+#blogDirectoryPlugin\:blogEntries .boxContent {
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+#blogDirectoryPlugin\:blogEntries .boxContent .wikiPara:first-child {
+ padding-top: 5px;
+ margin-top: 0;
+}
+
+.blogEntryHeader .title {
+ text-align: left;
+ line-height: 200%;
+ font-size: 120%;
+}
+
+.blogEntryHeader .dateAuthor {
+ text-align: right;
+ white-space: nowrap;
+ font-weight: normal;
+ line-height: 100%;
+}
+
+.blogEntryContent {
+ padding-left: 15px;
+ padding-right: 15px;
+ line-height: 150%;
+ text-align: justify;
+}
+
+.blogEntryContent .documentTags {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ padding-left: 0;
+ padding-right: 0;
+ margin: 0;
+ font-size: 85%;
+}
+
+.blogEntryContent .wikiHeadline1 a,
+.blogEntryContent .wikiHeadline2 a,
+.blogEntryContent .wikiHeadline3 a,
+.blogEntryContent .wikiHeadline4 a {
+ color: black;
+}
+
+.blogEntryFooter {
+ font-size: 85%;
+}
+
+.blogEntryFooterTable {
+ margin-right: auto;
+}
+
+.blogEntryCommentCount,
+.blogEntryCommentLink,
+.blogEntryAttachmentsLink,
+.blogEntryPermLink,
+.blogEntryWikiLink {
+ padding-right: 25px;
+ text-align:left;
+}
+.blogEntryCommentCountText,
+.blogEntryCommentLinkText,
+.blogEntryAttachmentsLinkText,
+.blogEntryPermLinkText,
+.blogEntryWikiLinkText {
+ color: #d75525;
+}
+.blogEntryCommentCountText:hover,
+.blogEntryCommentLinkText:hover,
+.blogEntryAttachmentsLinkText:hover,
+.blogEntryPermLinkText:hover,
+.blogEntryWikiLinkText:hover {
+ color: #666;
+}
+
+.blogEntrySeparator {
+ height: 25px;
+}
+
+.blogPagerTable {
+ width: 100%;
+ font-weight: bold;
+ padding: 0;
+ margin: 0;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ border: 0;
+ text-align: center;
+}
+
+.blogPagerColumn {
+ width: 10%;
+}
+.blogPagerTextColumn {
+ width: 60%;
+}
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/css/blogRecentEntries.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/blogRecentEntries.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/blogRecentEntries.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,7 @@
+.blogRecentEntriesDay {
+ font-weight: bold;
+}
+
+.blogRecentEntriesItem {
+ padding-left: 10px;
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/dirMenu.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/dirMenu.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/dirMenu.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,59 @@
+.dirMenu .level1 {
+}
+
+.dirMenu .level1Body {
+ background-color: white;
+}
+
+.dirMenu .level1Marker {
+ display: none;
+}
+
+.dirMenu .level1Link {
+ color: #d75525;
+ font-size: 95%;
+ text-decoration: none;
+}
+
+.dirMenu .level1Link:hover {color: #666}
+
+.dirMenu .level1Children {
+ background-color: white;
+}
+
+.dirMenu .level2 {
+}
+
+.dirMenu .level2Marker {
+ color: #d75525;
+ padding-left: 2px;
+ padding-right: 2px;
+ font-size: 80%;
+}
+
+.dirMenu .level2Link {
+ color: #d75525;
+ font-size: 80%;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+.dirMenu .level2Link:hover {color: #666}
+
+.dirMenu .level3 {}
+
+.dirMenu .level3Marker {
+ color: #d75525;
+ padding-left: 2px;
+ padding-right: 2px;
+ font-size: 80%;
+}
+
+.dirMenu .level3Link {
+ color: #d75525;
+ font-size: 80%;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+.dirMenu .level3Link:hover {color: #666}
Added: trunk/examples/wiki/view/themes/inrelationto/css/docPager.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/docPager.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/docPager.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,22 @@
+.docPager {
+ width: 100%;
+ background: #f5f5f5;
+}
+
+.docPagerPrevious {
+ text-align: left;
+}
+
+.docPagerNext {
+ text-align: right;
+}
+
+.docPagerButton {
+ vertical-align: text-bottom;
+}
+
+.docPagerLabel {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
Added: trunk/examples/wiki/view/themes/inrelationto/css/faqBrowser.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/faqBrowser.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/faqBrowser.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,78 @@
+#faqBrowserPlugin\:faqQuestionForm {
+ border: 1px solid #C3BBB6;
+}
+
+#faqBrowserPlugin\:faqQuestionForm .form {
+ margin:0;
+}
+
+.faqControlsContainer {
+ margin-bottom: 10px;
+}
+
+.faqBrowserPanel {
+ border: 1px solid #C3BBB6;
+ background: #d6d5c8 url(#{themePathGetRequest}/img/th.bg.gif) 0 0 repeat-x;
+ padding: 2px;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+.faqBrowserPanel .categoryLabel {
+ padding-left: 5px;
+ white-space:nowrap;
+}
+
+.faqBrowserPanel .categoryMenu {
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space:nowrap;
+}
+
+.faqBrowserPanel .questionsControl {
+ white-space:nowrap;
+}
+
+.faqBrowserPanel .categoryLink {
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space:nowrap;
+}
+
+.faqQuestionPanel {
+ border-left: 1px solid #C3BBB6;
+ border-right: 1px solid #C3BBB6;
+ border-bottom: 1px solid #C3BBB6;
+ background: white url(#{themePathGetRequest}/img/th.bg.inverse.gif) 0 0 repeat-x;
+}
+
+.faqQuestionPanel .header {
+ white-space:nowrap;
+ width: 100%;
+}
+
+.faqQuestionPanel .header .categoryDescription {
+ padding-left: 10px;
+ line-height: 250%;
+ font-weight: bold;
+}
+
+.faqQuestionPanel .header .newQuestionButton {
+ text-align:right;
+}
+
+.faqQuestionPanel .noQuestions {
+ padding-left: 10px;
+ line-height: 250%;
+}
+
+.faqQuestionList {
+}
+
+.faqQuestionList .rowOdd {
+ background-color: #fff;
+}
+
+.faqQuestionList .rowEven {
+ background-color: #eae8e5;
+}
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/css/feedAggregator.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/feedAggregator.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/feedAggregator.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,22 @@
+.feedAggregatorTitle {
+ margin-left: auto;
+}
+
+.feedEntryColumn {
+ padding: 10px;
+}
+
+.feedEntryTitle {
+ font-weight: bold;
+ padding-top: 15px;
+ padding-bottom: 15px;
+}
+
+.feedEntryInfo {
+ text-align: right;
+}
+
+.feedEntryBody {
+ line-height: 150%;
+ text-align:justify;
+}
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/css/feedTeasers.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/feedTeasers.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/feedTeasers.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,28 @@
+.teaserColumn {
+ padding: 10px;
+}
+
+.teaserTitle {
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+
+.teaserAuthorDate {
+ text-align: right;
+}
+
+.teaserAuthor {
+}
+
+.teaserAuthorLink {
+ color: #d75525;
+ text-decoration: none;
+}
+
+.teaserDate {
+}
+
+.teaserBody {
+ line-height: 150%;
+ text-align:justify;
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/forumList.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/forumList.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/forumList.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,55 @@
+.forumListControlsContainer {
+ text-align: right;
+ white-space: nowrap;
+ margin-bottom: 15px;
+}
+
+.forumListTableContainer {
+}
+
+.forumListRow td {
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+
+.forumFormContainer {
+ margin-bottom: 20px;
+}
+
+.forumTitle {
+ font-weight: bold;
+}
+
+.forumDescription {
+ white-space: normal;
+}
+
+.topicGotoIcon {
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+.forumsFeedLink {
+ margin: 10px;
+ float: right;
+ margin-top: -35px;
+}
+
+.forumsFeedLink img {
+ vertical-align: middle;
+ margin-right: 5px;
+}
+
+.forumFeedLink {
+
+}
+
+.forumFeedLink img {
+ margin-left: 8px;
+ margin-right: 8px;
+ margin-bottom: 2px;
+}
+
+.userInfoPopupContainer {
+ text-align: left;
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/forumPosting.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/forumPosting.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/forumPosting.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,37 @@
+.forumPostingHeaderInfoControls {
+ width: 100%;
+ margin-bottom: 10px;
+}
+
+.forumPostingHeaderInfo {
+ text-align: left;
+}
+
+.forumPostingHeaderControls {
+ text-align: right;
+ white-space: nowrap;
+}
+
+.forumPostingControls {
+ text-align: right;
+ white-space: nowrap;
+}
+
+.forumPostingDocumentWrapper {
+ padding: 5px;
+}
+
+.forumPostingDocumentWrapper .subjectLink {
+ margin-left: 10px;
+ font-weight: normal;
+ line-height: 100%;
+}
+
+.forumPostingDocumentWrapper .subjectIcon {
+ vertical-align: text-top;
+}
+
+.noComments {
+ border-bottom: 1px solid #C3BBB6;
+}
+
Added: trunk/examples/wiki/view/themes/inrelationto/css/forumReplies.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/forumReplies.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/forumReplies.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,24 @@
+#forumRepliesPlugin\:forumRepliesContainer .commentsDisplay {
+ margin-top: 15px;
+}
+
+#forumRepliesPlugin\:forumRepliesContainer .commentsDisplay .boxShadowed {
+ padding-bottom: 15px;
+}
+
+.forumReplyControls {
+ width: 100%;
+}
+
+.forumReplyRating {
+ text-align: left;
+}
+
+.forumReplyStatus {
+ text-align: right;
+}
+
+.forumReplyControl {
+ text-align: right;
+ width: 200px;
+}
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/css/forumStickyPosting.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/forumStickyPosting.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/forumStickyPosting.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,37 @@
+.forumPostingHeaderInfoControls {
+ width: 100%;
+ margin-bottom: 10px;
+}
+
+.forumPostingHeaderInfo {
+ text-align: left;
+}
+
+.forumPostingHeaderControls {
+ text-align: right;
+ white-space: nowrap;
+}
+
+.forumPostingControls {
+ text-align: right;
+ white-space: nowrap;
+}
+
+.forumPostingDocumentWrapper {
+ padding: 5px;
+}
+
+.forumPostingDocumentWrapper .subjectLink {
+ margin-left: 10px;
+ font-weight: normal;
+ line-height: 100%;
+}
+
+.forumPostingDocumentWrapper .subjectIcon {
+ vertical-align: text-top;
+}
+
+.noComments {
+ border-bottom: 1px solid #C3BBB6;
+}
+
Added: trunk/examples/wiki/view/themes/inrelationto/css/forumTopics.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/forumTopics.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/forumTopics.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,61 @@
+.forumDescriptionTopicControls {
+ width: 100%;
+}
+
+.forumDescription {
+}
+
+.topicControls {
+ text-align: right;
+ white-space: nowrap;
+ padding-left: 10px;
+}
+
+.topicFormContainer {
+}
+
+.topicTableContainer {
+}
+
+.topicPager {
+ width: 100%;
+}
+
+.topicPagerTable {
+ width: 100%;
+ font-weight: bold;
+ padding: 0;
+ margin: 0;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ border: 0;
+ text-align: center;
+}
+
+.topicPagerColumn {
+ width: 10%;
+}
+.topicPagerTextColumn {
+ width: 60%;
+}
+
+.topicGotoIcon {
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+.forumsFeedLink {
+ margin: 10px;
+ float: right;
+ margin-top: -35px;
+
+}
+
+.forumsFeedLink img {
+ vertical-align: middle;
+ margin-right: 5px;
+}
+
+.forumDescription {
+ text-align: left;
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,1421 @@
+/* Setup defaults since variable in browsers
+
+TODO: , dd, dt, dl, img, ul, ol, li, p, h1, h2, h3, h4, h5
+----------------------------------------------- */
+body, div, form, hr, fieldset {
+ margin: 0;
+ padding: 0;
+}
+/* Element Defaults
+----------------------------------------------- */
+html {
+ height: 100%;
+ margin: 0;
+ padding: 0;
+}
+img {
+ border: 0;
+}
+body {
+ font-family: "Lucida Sans", Arial, Helvetica, sans-serif;
+ font-size: small;
+ line-height: 1.25em;
+ margin: 0;
+ padding: 0 0 0 125px;
+ background: white url(../img/page.bg.gif) 0 0 repeat-x;
+}
+input, textarea, select {
+ border: 1px solid #C3BBB6;
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 85%;
+ padding: 2px;
+ font-family: Andale Mono, Courier New, monospace;
+}
+ol, ul {
+ margin: 10px 0 10px 6px;
+}
+li {
+ margin: 10px 12px;
+}
+fieldset {
+ border: 0;
+}
+
+a {
+ color: #d75525;
+ text-decoration: none;
+}
+
+a:visited {
+ color: #666;
+}
+
+h1 {
+ font-size: 150%;
+ font-weight: normal;
+ line-height: 120%;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+h2 {
+ font-size: 130%;
+ font-weight: bold;
+}
+
+h3 {
+ font-size: 110%;
+ font-weight: bold;
+ background-color: #f4fff1;
+ border-top: 1px solid #bbb;
+}
+
+
+h4 {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+q {
+ font-style: italic;
+}
+
+blockquote {
+ background: #f4fff1 url(../img/quote.gif) 0 0 no-repeat;
+ padding-left: 18px;
+ padding-right: 5px;
+}
+
+blockquote blockquote {
+ background: #ddd;
+}
+
+blockquote blockquote blockquote {
+ background: #ccc;
+}
+
+blockquote blockquote blockquote blockquote {
+ background: #bbb;
+}
+
+tt {
+ font-family: Andale Mono, Courier New, monospace;
+ font-size: 90%;
+}
+
+pre {
+ background-color: #f5f5f5;
+ padding: 5px;
+ font-family: Andale Mono, Courier New, monospace;
+ font-size: 85%;
+ line-height: 125%;
+ margin-left: 10px;
+ margin-right: 10px;
+ overflow-x: auto;
+}
+
+hr {
+ width: 100%;
+ border-width: 0;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ height: 1px;
+ color: #d75525;
+ background-color: #d75525;
+}
+
+ul {
+ list-style: square;
+}
+
+/* ----- Wiki text ---- */
+
+.wikiHeadline1 a, .wikiHeadline2 a, .wikiHeadline3 a, .wikiHeadline4 a {
+ color: black;
+}
+
+/* ---- Fonts ----- */
+
+.smallFont {
+ font-size: 85%;
+ line-height: 150%;
+}
+
+.largeFont {
+ font-size: 115%;
+}
+
+.extraLargeFont {
+ font-size: 130%;
+}
+
+.extraExtraLargeFont {
+ font-size: 150%;
+}
+
+/* Layout
+----------------------------------------------- */
+#screen {
+ background-color: #f3f4e4;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+}
+
+#header {
+ background-color: #fb9b6b;
+}
+
+#headerTopOne {
+ float: left;
+ width: 86px;
+ height: 55px;
+ background: #fff url(../img/hdr.topone.gif) 0 0 repeat-x;
+}
+#headerTopTwo {
+ text-align: right;
+ height: 55px;
+ background: #fff url(../img/hdr.toptwo.gif) 0 0 repeat-x;
+}
+#headerBottomOne {
+ clear: both;
+ float: left;
+ width: 86px;
+ height: 24px;
+ background: #f3f4e4 url(../img/hdr.bottomone.gif) 0 0 repeat-x;
+}
+#headerBottomTwo {
+ text-align: right;
+ height: 23px;
+ border-top: 1px solid #fb9b6b;
+ background: #f3f4e4 url(../img/hdr.bottomtwo.gif) 0 0 repeat-x;
+}
+
+#sidebar {
+ float: left;
+ left: 10px;
+ margin-top: 15px;
+ width: 130px;
+ position: fixed;
+}
+
+#body {
+ margin-left: 30px;
+ margin-right: 18px;
+ margin-top: 20px;
+ margin-bottom: 15px;
+}
+
+#control {
+ margin-top: 1px;
+}
+
+#controlOne {
+ float: left;
+ white-space: nowrap;
+ padding-top: 1px;
+ padding-left: 10px;
+}
+
+#controlTwo {
+ padding-top: 3px;
+ padding-right: 15px;
+}
+
+#controlSeparator {
+ clear:both;
+ background-color: white;
+ height: 1px;
+ font-size: 1px;
+}
+
+#content {
+ background-color: #f3f4e4;
+}
+
+#footer {
+ clear: both;
+ padding: 10px;
+ background-color: white;
+ text-align: right;
+}
+
+
+/* Header
+----------------------------------------------- */
+#header .screenname {
+ color: #fff;
+}
+
+#header .sitename {
+ float:left;
+ padding-top: 15px;
+ padding-left: 10px;
+}
+#header .sitenameLink {
+ color: #fff;
+}
+#header .sitenameLink:hover {
+ color: #ccc;
+}
+
+/* Misc page elements
+----------------------------------------------- */
+
+#searchForm\:searchPager {
+ margin-top: 15px;
+}
+
+#searchForm\:searchOptionsTable {
+ margin-top: 15px;
+}
+
+#userSearchForm\:userListPager {
+}
+
+#workspaceSwitcher {
+ display: inline;
+}
+
+#workspaceSwitcher .workspaceSwitcherCombobox {
+ margin: 0;
+ border: 0;
+ padding: 0;
+ margin-top: 3px;
+ color: #000;
+ font-size: 85%;
+ font-weight: normal;
+ vertical-align: top;
+}
+
+#workspaceSwitcher .workspaceSwitcherLabel {
+ color: #fff;
+ font-weight: bold;
+ text-decoration: none;
+ padding-left: 2px;
+ padding-right: 2px;
+}
+
+
+/* Messages
+----------------------------------------------- */
+
+.messageBox {
+ background-color: #f8e3d8;
+ width: auto;
+}
+
+.messageBox table {
+ padding: 0;
+ margin: 0;
+ border:0;
+}
+
+.infoMessage {
+ color: #333;
+}
+
+.infoImage {
+ vertical-align: text-top;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+.attentionMessage {
+ color: #600;
+}
+
+.attentionImage {
+ vertical-align: text-top;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+
+.messageBox .attentionImage {
+ vertical-align: text-top;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+.messageBox .attentionMessage {
+}
+
+.messageBox .infoMessage {
+}
+
+
+/* General
+----------------------------------------------- */
+
+.shadowContainer {
+ background: #dcddd0;
+ padding-bottom: 1px;
+ padding-right: 1px;
+}
+
+.shadowContainer .shadow1 {
+ background: #ccc;
+ padding-right: 1px;
+ padding-bottom: 1px;
+}
+
+.shadowContainer .shadow2 {
+ background: #aaa;
+ padding-right: 1px;
+ padding-bottom: 1px;
+ border-left: 1px solid #ffb398;
+}
+
+.shadowContainer div {}
+
+.documentDisplay {
+ padding-left: 20px;
+ padding-right: 20px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ line-height: 150%;
+ text-align:justify;
+}
+
+.documentTitle a {
+ color: #000;
+}
+
+.documentTags {
+ border-top: 1px solid #ffb398;
+ white-space: nowrap;
+ font-weight: normal;
+ padding: 10px;
+ line-height: 125%;
+}
+
+.documentCreatorHistory {
+ border-top: 1px solid #ffb398;
+ white-space: nowrap;
+ font-weight: normal;
+ padding: 10px;
+ line-height: 125%;
+}
+
+.attachmentDisplay {
+ margin-top: 20px;
+}
+
+.commentsDisplay {
+}
+
+#commentDisplayForm .commentsDisplay .box {
+ margin-top: 20px;
+}
+
+#commentDisplayForm .commentsDisplay .boxShadowed {
+ margin-top: 20px;
+ padding-bottom: 15px;
+}
+
+.regularLink{
+ text-decoration: underline;
+}
+
+.brokenLink {
+ color: #ff0000;
+ text-decoration: line-through;
+}
+
+.undecoratedLink a {
+ color: #d75525;
+ text-decoration: none;
+}
+.undecoratedLink a:hover {
+ color: #666;
+}
+
+.addedText {
+ background-color: lightgreen;
+}
+
+.deletedText {
+ background-color: lightcoral;
+}
+
+.button {
+ background: #d55121 url(../img/btn.bg.gif) 0 0 repeat-x;
+ padding: 2px 5px 2px 5px;
+ margin: 0 5px 0 5px;
+}
+
+.buttonNonpersistent {
+ background: #fff url(../img/btn.nonpersistent.bg.gif) 0 0 repeat-x;
+ padding: 2px 5px 2px 5px;
+ margin: 0 5px 0 5px;
+}
+
+.buttonLabel{
+ color: #fff;
+ font-weight: bold;
+ text-decoration:none;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ font-size: 85%;
+}
+
+.linkNavigation {
+ text-decoration:none;
+ font-size: 85%;
+ font-weight: bold;
+ background-color: #d55121;
+ border: 1px solid #f3f4e4;
+ border-bottom: 1px solid #f3f4e4;
+ padding: 2px 5px 2px 5px;
+ margin: 0 5px 0 5px;
+}
+
+.linkTab {
+ text-decoration:none;
+ font-weight: bold;
+ border: 1px solid #fff;
+ padding: 2px 5px 2px 5px;
+ margin-right: 10px;
+}
+
+.activeTab {
+ color: #666;
+ background: #d6d5c8 url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+}
+
+.inactiveTab {
+ color: #fff;
+ background: #d6d5c8 url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+}
+
+.linkTab:link {color: #555}
+.linkTab:visited {color: #555}
+.linkTab:hover {color: #000}
+.linkTab:active {color: #aaa}
+
+.linkTabActive:link {color: #555}
+.linkTabActive:visited {color: #555}
+.linkTabActive:hover {color: #000}
+.linkTabActive:active {color: #aaa}
+
+.linkNavigation:link {color: #fff}
+.linkNavigation:visited {color: #fff}
+.linkNavigation:hover {color: #ccc}
+.linkNavigation:active {color: #aaa}
+
+.feeds {
+ padding: 5px;
+}
+
+.feeds .feedText {
+ vertical-align: top;
+ color: #d75525;
+ font-size: 85%;
+}
+
+.feedIcon {
+ display: none;
+}
+
+.captchaImage {
+ vertical-align:top;
+ margin-left: 10px;
+ margin-right: 10px;
+ border: 1px solid #C3BBB6;
+}
+
+/* Forms
+----------------------------------------------- */
+
+.form {
+ margin-top: 10px;
+}
+
+.form .statusIndicator {
+ float: right;
+}
+
+.form .statusIndicator .statusStart {
+}
+
+.form .statusIndicator .statusStop {
+}
+
+.formListGridColumn {
+ vertical-align: top;
+ padding: 10px;
+}
+
+.formListTable {
+ border: 1px solid #C3BBB6;
+}
+
+.formListItem {
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ padding: 3px;
+}
+
+.formListSelectedItem{
+ background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+ padding: 3px;
+}
+
+.formListSelectedItem a {
+ color: #555;
+}
+
+.formHead {
+ text-align: left;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ font-weight: bold;
+ color: #555;
+ padding-left: 13px;
+ padding-right: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.formFields {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ background-color: #f5f5f5;
+}
+
+.formBorder {
+}
+
+.formControls {
+ background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+ padding: 5px;
+}
+
+.entry {
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+.entry .label {
+ float: left;
+ padding-top: 1px;
+ padding-right: 10px;
+ padding-left: 10px;
+ width: 135px;
+ text-align: right;
+ color: #000000;
+ font-weight:bold;
+ line-height: 155%;
+ font-size: 85%;
+}
+
+.entry .output {
+ padding-top: 2px;
+ text-align: left;
+}
+
+.entry .input {
+ text-align: left;
+}
+
+.wideLabels .entry .label {
+ width: 220px;
+}
+
+.errorEntry {
+ background-color: #ffeeee;
+}
+
+.errorEntry .errorMessage {
+ font-weight: normal;
+ text-align: left;
+}
+
+.entry .label .errorMessage {
+ font-weight: normal;
+}
+
+.tableFormFields {
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.tableFormFields .input {
+}
+
+.tableFormFields .inputError input,
+.tableFormFields .inputError select {
+ background-image: none;
+ background-color: #ffeeee;
+}
+
+.textEditResizable {
+ margin-bottom: 5px;
+}
+
+.wideLabels .textEditResizable {}
+
+.textEditResizeHandle {
+ width: 25px;
+ height: 10px;
+ background: #bbb url(../img/icon.resize_s.gif) 0 0 no-repeat;
+ cursor: s-resize;
+ position: absolute;
+ margin-bottom: 10px;
+ margin-left: 155px;
+}
+
+.wideLabels .textEditResizeHandle {
+ margin-left: 240px;
+}
+
+.textAreaHelp {
+ padding-top: 5px;
+ vertical-align: top;
+}
+
+.textPreview {
+ border: 1px dashed #666;
+ margin-bottom: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: white;
+ margin-left: 80px;
+ margin-right: 80px;
+}
+
+/* Directory Browser
+----------------------------------------------- */
+
+.directoryControl {
+ width: 100%;
+ white-space: nowrap;
+ padding: 7px;
+}
+
+.directorySelectControl {
+ text-align: left;
+ white-space: nowrap;
+}
+
+.directoryClipboard {
+ text-align: right;
+ white-space: nowrap;
+}
+
+.directoryTrash {
+ text-align: right;
+ white-space: nowrap;
+ width: 125px;
+}
+
+.directoryPathTable {
+ width: 100%;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+}
+
+.directoryPathTable .directoryButton {
+ color: #d75525;
+ padding: 2px;
+ border-style: none;
+ font-weight: bold;
+ font-size: 85%;
+}
+
+.directoryPathTable .directorySeparator {
+ font-weight: bold;
+ color: #888;
+ padding: 2px;
+ border-style: none;
+}
+
+.directoryPath {
+ text-align: left;
+ padding-left: 5px;
+}
+
+.directoryPagerControl {
+ text-align: right;
+ white-space: nowrap;
+ padding: 5px;
+}
+
+.directoryEmpty {
+ padding: 5px;
+}
+
+
+/* Generic Lists
+----------------------------------------------- */
+
+.datatable {
+ margin: 0;
+ width: 100%;
+ border-collapse: separate;
+}
+
+.topLeftBottomBorder {
+ /*
+ border-top: 1px solid #C3BBB6;
+ border-left: 1px solid #C3BBB6;
+ border-bottom: 1px solid #C3BBB6;
+ */
+}
+
+.rightBorder {
+ /*
+ border-right: 1px solid #C3BBB6;
+ */
+}
+
+.leftBorder {
+ /*
+ border-left: 1px solid #C3BBB6;
+ */
+}
+
+.topBorder {
+ /*
+ border-top: 1px solid #C3BBB6;
+ */
+}
+
+.bottomBorder {
+ /*
+ border-bottom: 1px solid #C3BBB6;
+ */
+}
+
+.alignCenter {
+ text-align: center;
+}
+
+.alignRight {
+ text-align: right;
+}
+
+.alignLeft {
+ text-align: left;
+}
+
+.noPadding {
+ padding: 0;
+}
+
+.minorPadding {
+ padding: 5px;
+}
+
+.fullWidth {
+ width: 100%;
+}
+
+.datatable .rowOdd {
+ background-color: #fff;
+}
+
+.datatable .rowEven {
+ background-color: #eae8e5;
+}
+
+.datatable .sortableHeader {
+ white-space: nowrap;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ text-align: center;
+ padding: 2px;
+ padding-left: 5px;
+ padding-right: 5px;
+ font-weight: bold;
+}
+
+.datatable .regularHeader {
+ white-space: nowrap;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ padding: 2px;
+ padding-left: 5px;
+ padding-right: 5px;
+ font-weight: bold;
+}
+
+.defaultColumn {
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space: nowrap;
+}
+
+.onePercentColumn{
+ width: 1%;
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space: nowrap;
+}
+
+.fivePercentColumn {
+ width: 5%;
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space: nowrap;
+}
+
+.tenPercentColumn {
+ width: 10%;
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space: nowrap;
+}
+
+.fifteenPercentColumn {
+ width: 15%;
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space: nowrap;
+}
+
+.twentyPercentColumn {
+ width: 20%;
+ padding-left: 10px;
+ padding-right: 10px;
+ white-space: nowrap;
+}
+
+.wrapWhitespace {
+ white-space: normal;
+}
+
+.noWrapWhitespace {
+ white-space: nowrap;
+}
+
+.pager {
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ text-align: center;
+}
+.pager .pagerIconColumn {
+ width: 10%;
+}
+.pager .pagerTextColumn {
+ width: 60%;
+}
+
+.pagerTop {
+ border-top: 1px solid #C3BBB6;
+}
+
+.pagerBottom {
+ border-bottom: 1px solid #C3BBB6;
+}
+
+/* Comments
+-----------------------------------------------*/
+
+.commentColumn {
+}
+
+.commentHeader {
+ width: 100%;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+.commentSubjectIcon {
+ padding-right: 10px;
+}
+
+.commentSubject {
+ text-decoration:none;
+ width: 100%;
+}
+
+.commentAuthorInfo {
+ white-space: nowrap;
+ text-align: right;
+ padding-left: 10px;
+ line-height: 140%;
+}
+
+.commentAuthorPortrait {
+ padding-left: 10px;
+}
+
+.commentAuthorPortraitImage {
+}
+
+.commentText {
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+.commentSignatureSeparator {
+ font-size: 1px;
+ width: 20px;
+ border-bottom: 1px dashed #d3d2d1;
+}
+
+.commentSignature {
+ font-size: 85%;
+}
+
+.commentSignature .wikiPara {
+ line-height: 120%;
+}
+
+.commentControls {
+ margin-bottom: 5px;
+}
+
+.commentControls form {
+ text-align:right;
+}
+
+.commentRating, .commentRatingChooser {
+ font-weight: bold;
+}
+
+.commentRating .label, .commentRatingChooser .label {
+ vertical-align: bottom;
+}
+
+.commentFirstLevel {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+}
+
+.commentLevel {
+ border-left: 1px solid #C3BBB6;
+}
+
+.commentFirstLevel, .commentLevel {
+ padding: 5px;
+ border-bottom: 1px solid #C3BBB6;
+}
+
+.commentForm {}
+
+/* Document history and diff
+-----------------------------------------------*/
+
+.diffOutput {
+ padding: 10px;
+ background: #fff;
+}
+
+.diffInfo {
+ font-weight: bold;
+ color: #666;
+}
+
+.diffChangedName {
+ padding: 10px;
+}
+
+.diffDeleted {
+ background-color: #ffaaaa;
+}
+
+.diffAdded {
+ background-color: #aaffaa;
+}
+
+.diffLink {
+ text-decoration: underline;
+}
+
+.diffPlugin {
+ border: 1px dashed black;
+ padding: 2px;
+}
+
+
+/* Popups
+-----------------------------------------------*/
+
+/* The Window's CSS z-index value is respected (takes priority). If none is supplied,
+ the Window's z-index value will be set to 3000 by default (in jqModal.js). You
+ can change this value by either;
+ a) supplying one via CSS
+ b) passing the "zIndex" parameter. E.g. (window).jqm({zIndex: 500}); */
+
+.popupDialog {
+ display: none;
+ position: absolute;
+ background-color: #fff;
+ border: 1px solid #C3BBB6;
+}
+
+.popupDialogHead {
+ text-align: left;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ font-weight: bold;
+ color: #555;
+ padding-left: 13px;
+ padding-right: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ cursor: move;
+}
+
+.popupDialogContent {
+ padding: 10px;
+}
+
+.popupDialogControls {
+ text-align: center;
+}
+
+.popupDialogResizeHandle {
+ width: 15px;
+ height: 15px;
+ background: #fff url(../img/icon.resize_se.gif) 0 0 no-repeat;
+ cursor: se-resize;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+}
+
+.jqmOverlay { background-color: #aaa; }
+
+/* Fixed posistioning emulation for IE6
+ Star selector used to hide definition from browsers other than IE6
+ For valid CSS, use a conditional include instead */
+/* Not active right now, activate when working on IE6 support
+* html .popupDialog {
+ position: absolute;
+ top: expression((document.documentElement.scrollTop || document.body.scrollTop) + Math.round(17 * (document.documentElement.offsetHeight || document.body.clientHeight) / 100) + 'px');
+}
+*/
+
+
+/* Form tabs
+----------------------------------------------- */
+
+.formTabs {
+ background: transparent;
+}
+
+.formTabsTitle {
+ border-right: 1px solid #d6d5c8;
+}
+
+/* Caution! Ensure accessibility in print and other media types... */
+@media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */
+ .tabs-hide {
+ display: none;
+ }
+}
+
+/* Hide useless elements in print layouts... */
+@media print {
+ .tabs-nav {
+ display: none;
+ }
+}
+
+/* Skin */
+.tabs-nav {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ overflow: auto;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ font-size: 85%;
+}
+
+.tabs-nav li {
+ float: left;
+ margin: 0;
+ text-align: left;
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ font-weight: bold;
+ color: #555;
+ padding-left: 13px;
+ padding-right: 10px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ border-right: 1px solid #d6d5c8;
+}
+.tabs-nav a {
+ color: #d75525
+}
+.tabs-nav .tabs-selected {
+ background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+}
+
+.tabs-nav .tabs-selected a {
+ color: #555;
+}
+
+.tabs-nav .tabs-selected a, .tabs-nav a:hover, .tabs-nav a:focus, .tabs-nav a:active {
+ background-position: 0 -50px;
+ outline: 0; /* @ Firefox, switch off dotted border */
+}
+.tabs-nav .tabs-disabled a:hover, .tabs-nav .tabs-disabled a:focus, .tabs-nav .tabs-disabled a:active {
+ background-position: 0 0;
+}
+.tabs-nav .tabs-selected a:link, .tabs-nav .tabs-selected a:visited,
+.tabs-nav .tabs-disabled a:link, .tabs-nav .tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */
+ cursor: text;
+}
+.tabs-nav a:hover, .tabs-nav a:focus, .tabs-nav a:active { /* @ Opera, we need to be explicit again here now... */
+ cursor: pointer;
+ color: #555;
+}
+.tabs-nav .tabs-disabled {
+ opacity: .4;
+}
+.tabs-container {
+ background: #f5f5f5; /* declare background color for container to avoid distorted fonts in IE while fading */
+}
+
+
+/* Progress bar
+----------------------------------------------- */
+
+.progressbarContainer {
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.progressbar {
+ border: 1px solid #C3BBB6;
+ width: 100px;
+ height: 15px;
+ position: relative;
+ color: black;
+}
+
+/* color bar */
+.progressbar div.progress {
+ position: absolute;
+ width: 0;
+ height: 100%;
+ overflow: hidden;
+ background-color: #d75525;
+}
+
+/* text on bar */
+.progressbar div.progress .text {
+ position: absolute;
+ text-align: center;
+ color: white;
+}
+
+/* text off bar */
+.progressbar div.text {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+}
+
+.progressbarLabel {
+ font-weight: bold;
+}
+
+/* Box on page
+----------------------------------------------- */
+
+.box {
+ background-color: #fff;
+}
+
+.boxShadowed {
+ background-color: #fff;
+}
+
+.boxHeader {
+ text-align: right;
+ padding-left: 10px;
+ padding-right: 15px;
+ padding-top: 5px;
+ padding-bottom: 7px;
+ background: white url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+}
+
+.boxContent {
+ background-color: #fff;
+ padding: 10px;
+}
+
+.boxContent a {
+ color: #d75525;
+ text-decoration: none;
+}
+
+.boxContent a:hover {color: #666}
+
+.boxFooter {
+ background: #d3d2c4 url(../img/th.bg.gif) 0 0 repeat-x;
+ padding-top: 5px;
+ padding-left: 10px;
+ padding-right: 10px;
+ font-weight: normal;
+ color: #d75525;
+ text-decoration: none;
+ text-align: right;c
+}
+
+/* Plugin Preferences Editor
+----------------------------------------------- */
+
+.pluginPreferencesBox {
+ background-color: #ded;
+}
+
+.pluginPreferencesMessage {
+ color: #600;
+}
+
+.pluginPreferencesEditor {
+ text-align: center;
+ padding: 10px;
+}
+
+.pluginPreferencesEditorHeader {
+ background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+ width: 100%;
+}
+
+.pluginPreferencesEditorTitle {
+ text-align: left;
+ padding-left: 5px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+}
+
+.pluginPreferencesEditorTitleText {
+}
+
+.pluginPreferencesEditorAction {
+ text-align: right;
+}
+
+.pluginPreferencesEditorAction .buttonNonpersistent {
+ margin: 0;
+}
+
+.pluginPreferencesEditorFormTable {
+ width: 100%;
+}
+
+.pluginPreferencesEditorPropertyDescription {
+}
+
+.pluginPreferencesEditorPropertyInput {
+}
+
+
+/* Breadcrumb
+----------------------------------------------- */
+
+#breadcrumb {
+ text-align: left;
+ font-size: 85%;
+}
+
+#breadcrumb .breadcrumbRoot {
+ display: none;
+}
+
+#breadcrumb .itemLink{
+ color: #d75525;
+ text-decoration: none;
+}
+
+#breadcrumb .itemSeparator {
+ padding-left: 5px;
+ padding-right: 5px;
+ color: #d75525;
+}
+
+#breadcrumb .itemSeparatorGreaterThan {
+ display: none;
+}
+
+#breadcrumb .itemText {
+ color: #d75525;
+ text-decoration: none;
+ padding-left: 2px;
+ padding-right: 2px;
+}
+
+
+/* User Info
+----------------------------------------------- */
+
+.userInfo {
+ width: 100%;
+ margin-top: 20px;
+}
+
+.userInfoEmail {}
+
+.userInfoDetails {
+ vertical-align: top;
+ width: 70%;
+ padding-right: 15px;
+}
+
+.userInfoDetails .form {
+ margin-top: 0;
+}
+
+.userInfoProfile {
+ vertical-align: top;
+}
+
+.userInfoProfileContent {
+ line-height: 140%;
+ font-size: 85%;
+ color: #000;
+ padding-left: 10px;
+ padding-right: 10px;
+ padding-top: 0;
+ padding-bottom: 5px;
+}
+
+.userInfoPortraitWithBio {
+ float: right;
+ margin-left: 10px;
+}
+
+.userInfoPortrait {
+ margin-bottom: 10px;
+ text-align: center;
+ width: 100%;
+}
+
+.userInfoPortraitImage {
+ border: 1px solid #87786e;
+}
+
+.userInfoBio{}
+
+.userInfoBio .wikiPara:first-child {
+ margin-top: 0;
+ padding-top: 0;
+ border-top: 0;
+}
+
+.userInfoBio .wikiPara{
+ line-height: 140%;
+}
+
+.userInfoEntry {
+ clear: both;
+ margin-bottom: 5px;
+ margin-top: 5px;
+}
+
+.userInfoEntryLabel {
+ font-weight: bold;
+}
+
+.userInfoEntryText {
+}
+
+.userInfoEntryLink {
+ color: #d75525;
+}
+
+.userInfoEntryLink:hover {color: #666}
Added: trunk/examples/wiki/view/themes/inrelationto/css/jiraIssueList.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/jiraIssueList.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/jiraIssueList.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,15 @@
+.jiraIssueList {}
+
+.jiraIssueListTable {}
+
+.jiraIssueListTable .priorityColumn {}
+
+.jiraIssueListTable .summaryColumn {}
+
+.jiraIssueListTable .componentsColumn {}
+
+.jiraIssueListEmpty {
+ padding: 5px;
+}
+
+
Added: trunk/examples/wiki/view/themes/inrelationto/css/lastModifiedDocuments.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/lastModifiedDocuments.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/lastModifiedDocuments.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,17 @@
+.lastModifiedDocuments {}
+
+.lastModifiedLink {
+}
+
+.lastModifiedColumn {
+ padding-bottom: 5px;
+}
+
+.lastModifiedAuthorDate {
+ text-align: right;
+}
+
+.lastModifiedLink:link {color: #d75525}
+.lastModifiedLink:visited {color: #d75525}
+.lastModifiedLink:hover {color: #000}
+.lastModifiedLink:active {color: #aaa}
Added: trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,83 @@
+/* Main menu
+----------------------------------------------- */
+
+.mainMenuContainer {
+ background-color: white;
+}
+
+.mainMenuHeader {
+ background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+ height: 30px;
+ margin-top: 5px;
+}
+
+.mainMenuFooter {
+ background: #d6d5c8 url(../img/th.bg.gif) 0 0 repeat-x;
+ height: 35px;
+ margin-top: 5px;
+}
+
+#mainMenu .level1 {
+}
+
+#mainMenu .level1Body {
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 10px;
+}
+
+#mainMenu .level1Marker {
+ display: none;
+}
+
+#mainMenu .level1Link {
+ font-weight: bold;
+ color: #d75525;
+ font-size: 100%;
+ text-decoration: none;
+}
+
+#mainMenu .level1Link:hover {color: #666}
+
+#mainMenu .level1Children {
+ margin-left: 10px;
+}
+
+#mainMenu .level2 {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+#mainMenu .level2Marker {
+ display: none;
+}
+
+#mainMenu .level2Link {
+ font-size: 85%;
+ font-weight: bold;
+ color: #d75525;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+#mainMenu .level2Link:hover {color: #666}
+
+#mainMenu .level3 {}
+
+#mainMenu .level3Marker {
+ padding-left: 2px;
+ padding-right: 2px;
+ font-size: 80%;
+ color: #d75525;
+}
+
+#mainMenu .level3Link {
+ font-size: 80%;
+ color: #d75525;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+#mainMenu .level3Link:hover {color: #666}
+
+
Added: trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,38 @@
+#searchControl {
+ padding-left: 10px;
+ padding-top: 12px;
+}
+
+#searchControl .searchControlTable {
+}
+
+#searchControl .searchControlLabel{
+ color: #ffcfb8;
+ font-weight: normal;
+ font-size: 80%;
+ text-decoration: none;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+#searchControl .searchControlInput {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 85%;
+ padding: 1px;
+ width: 75px;
+ margin: 0;
+ border: 1px solid #ffb398;
+ font-family: Andale Mono, Courier New, monospace;
+}
+
+#searchControl .searchControlLink{
+ font-weight: normal;
+ font-size: 85%;
+ color: #d75525;
+ text-decoration: none;
+ padding-left: 5px;
+}
+
+#searchControl .searchControlLink:hover {
+ color: #666;
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/userControl.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/userControl.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/userControl.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,53 @@
+.userControlPanel {
+ text-align:right;
+ font-size: 85%;
+ padding-top: 3px;
+ padding-right: 18px;
+}
+
+.loginForm {
+ display: inline;
+}
+
+.userControlPanel .label {
+ color: #FFCFB8;
+ text-decoration: none;
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+.userControlPanel .link {
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+.userControlPanel .linkText {
+ color: #fff;
+ text-decoration: none;
+}
+
+.userControlPanel .input {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 100%;
+ padding: 1px;
+ margin: 0;
+ border: 0;
+}
+
+.resetPasswordForm {
+ display: inline;
+}
+
+.resetPasswordRequestForm {
+ display: inline;
+}
+
+.resetPasswordRequestFormFields {
+}
+
+.resetPasswordRequestFormFields .entry .label {
+ white-space: nowrap;
+}
+
+.resetPasswordRequestFormControls {
+}
Added: trunk/examples/wiki/view/themes/inrelationto/css/userProfile.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/userProfile.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/css/userProfile.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,43 @@
+.userProfilePortrait {
+ margin-left: 10px;
+ margin-right: 10px;
+ margin-top: 3px;
+ margin-bottom: 5px;
+ float: left;
+}
+
+.userProfilePortraitImage {
+ border: 1px solid #87786e;
+}
+
+.userProfileBio{
+ font-size: 75%;
+ margin-right: 10px;
+ margin-left: 10px;
+ color: #000;
+ text-align: justify;
+ line-height: 130%;
+}
+
+.userProfileEntry {
+ clear: both;
+ margin-bottom: 5px;
+ margin-left: 10px;
+ margin-right: 10px;
+ font-size: 75%;
+ color: #000;
+ line-height: 140%;
+}
+
+.userProfileEntryLabel {
+ font-weight: bold;
+}
+
+.userProfileEntryText {
+}
+
+.userProfileEntryLink {
+ color: #d75525;
+}
+
+.userProfileEntryLink:hover {color: #666}
Added: trunk/examples/wiki/view/themes/inrelationto/img/attention.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/attention.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/blank.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/blank.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/btn.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/btn.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/btn.dateselect.png
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/btn.dateselect.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/btn.nonpersistent.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/btn.nonpersistent.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/check.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/check.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/down.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/down.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/dtpick.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/dtpick.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/equals.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/equals.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/hdr.bottomone.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/hdr.bottomone.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/hdr.bottomtwo.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/hdr.bottomtwo.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/hdr.topone.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/hdr.topone.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/hdr.toptwo.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/hdr.toptwo.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.atom.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.atom.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.atom.ongrey.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.atom.ongrey.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.calendar.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.calendar.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.cut.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.cut.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.dir.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.dir.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.dirup.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.dirup.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.doc.default.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.doc.default.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.doc.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.doc.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.filegeneric.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.filegeneric.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.fileimg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.fileimg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.filepdf.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.filepdf.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.filetxt.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.filetxt.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.help.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.help.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_goto.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_goto.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_locked.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_locked.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_locked_unread.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_locked_unread.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_sticky.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_sticky.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_sticky_unread.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_sticky_unread.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_unread.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.posting_unread.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.blocker.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.blocker.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.critical.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.critical.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.major.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.major.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.minor.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.minor.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.optional.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.optional.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.trivial.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.priority.trivial.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.resize_s.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.resize_s.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.resize_se.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.resize_se.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.trash.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.trash.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/icon.user.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/icon.user.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/info.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/info.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/input.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/input.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/input.error.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/input.error.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/inrelationto.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/inrelationto.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/left.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/left.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/menu.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/menu.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/minus.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/minus.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/page.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/page.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/page.first.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/page.first.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/page.last.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/page.last.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/page.next.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/page.next.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/page.previous.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/page.previous.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/plus.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/plus.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/quote.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/quote.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/right.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/right.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/sortindicator.down.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/sortindicator.down.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/sortindicator.up.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/sortindicator.up.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/star.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/star.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/star_grey.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/star_grey.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/statusindicator.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/statusindicator.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/th.bg.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/th.bg.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/th.bg.inverse.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/th.bg.inverse.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/img/up.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/inrelationto/img/up.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/inrelationto/js/interface.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/interface.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/interface.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,8 @@
+/*
+ * Interface elements for jQuery - http://interface.eyecon.ro
+ *
+ * Copyright (c) 2006 Stefan Petre
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ */
+ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4.1h={5m:k(e){d x=0;d y=0;d 27=1g;d L=e.1d;8(4(e).H(\'15\')==\'1b\'){21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';27=1P}d 7=e;2W(7){x+=7.4Q+(7.2a&&!4.3T.4T?G(7.2a.3v)||0:0);y+=7.4Z+(7.2a&&!4.3T.4T?G(7.2a.3z)||0:0);7=7.4S}7=e;2W(7&&7.3m&&7.3m.3s()!=\'16\'){x-=7.2c||0;y-=7.1S||0;7=7.34}8(27){L.15=\'1b\';L.I=33;L.1t=21}u{x:x,y:y}},5j:k(7){d x=0,y=0;2W(7){x+=7.4Q||0;y+=7.4Z||0;7=7.4S}u{x:x,y:y}},3C:k(e){d w=4.H(e,\'C\');d h=4.H(e,\'B\');d 1F=0;d 1K=0;d L=e.1d;8(4(e).H(\'15\')!=\'1b\'){1F=e.3X;1K=e.3N}J{21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';1F=e.3X;1K=e.3N;L.15=\'1b\';L.I=33;L.1t=21}u{w:w,h:h,1F:1F,1K:1K}},5u:k(7){u{1F:7.3X||0,1K:7.3N||0!
}},5h:k(e){d h,w,2p;8(e){w=e.2v;h=e.2I}J{2p=K.1k;w=3E.3I||35.3I||(2p&&2p.2v)||K.16.2v;h=3E.40||35.40||(2p&&2p.2I)||K.16.2I}u{w:w,h:h}},4t:k(e){d t,l,w,h,2i,2b;8(e&&e.38.3s()!=\'16\'){t=e.1S;l=e.2c;w=e.3Y;h=e.3D;2i=0;2b=0}J{8(K.1k&&K.1k.1S){t=K.1k.1S;l=K.1k.2c;w=K.1k.3Y;h=K.1k.3D}J 8(K.16){t=K.16.1S;l=K.16.2c;w=K.16.3Y;h=K.16.3D}2i=35.3I||K.1k.2v||K.16.2v||0;2b=35.40||K.1k.2I||K.16.2I||0}u{t:t,l:l,w:w,h:h,2i:2i,2b:2b}},4e:k(e,28){d 7=4(e);d t=7.H(\'2H\')||\'\';d r=7.H(\'2C\')||\'\';d b=7.H(\'2O\')||\'\';d l=7.H(\'2B\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},59:k(e,28){d 7=4(e);d t=7.H(\'48\')||\'\';d r=7.H(\'44\')||\'\';d b=7.H(\'43\')||\'\';d l=7.H(\'49\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},61:k(e,28){d 7=4(e);d t=7.H(\'3z\')||\'\';d r=7.H(\'4k\')||\'\';d b=7.H(\'4m\')||\'\';d l=7.H(\'3v\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)||0};J u{t:t,r:r,b:b,l:l}},2y:k(2F){d x=2F.5Z||(2F.5x+(K.1k.2c||K!
.16.2c))||0;d y=2F.5Y||(2F.64+(K.1k.1S||K.16.1S))||0;u{x:x,y:y}},3V:k(
1n,3R){3R(1n);1n=1n.4g;2W(1n){4.1h.3V(1n,3R);1n=1n.6e}},6a:k(1n){4.1h.3V(1n,k(7){Z(d 1I 1u 7){8(1m 7[1I]===\'k\'){7[1I]=W}}})},5U:k(7,2S){d 1y=$.1h.4t();d 3x=$.1h.3C(7);8(!2S||2S==\'5F\')$(7).H({E:1y.t+((14.1M(1y.h,1y.2b)-1y.t-3x.1K)/2)+\'V\'});8(!2S||2S==\'5H\')$(7).H({F:1y.l+((14.1M(1y.w,1y.2i)-1y.l-3x.1F)/2)+\'V\'})},5D:k(7,4Y){d 57=$(\'4j[@36*="3r"]\',7||K),3r;57.2h(k(){3r=A.36;A.36=4Y;A.1d.5I="5J:5Q.5R.5L(36=\'"+3r+"\')"})}};[].46||(5N.5M.46=k(v,n){n=(n==W)?0:n;d m=A.1x;Z(d i=n;i<m;i++)8(A[i]==v)u i;u-1});4.4f=k(e){8(/^5K$|^5O$|^5P$|^5S$|^5B$|^5A$|^5z$|^5y$|^5C$|^16$|^5G$|^5E$|^5T$|^69$|^68$|^67$|^66$/i.2Z(e.38))u 1g;J u 1P};4.P.6b=k(e,1B){d c=e.4g;d 1z=c.1d;1z.I=1B.I;1z.2H=1B.1q.t;1z.2B=1B.1q.l;1z.2O=1B.1q.b;1z.2C=1B.1q.r;1z.E=1B.E+\'V\';1z.F=1B.F+\'V\';e.34.4c(c,e);e.34.6c(e)};4.P.65=k(e){8(!4.4f(e))u 1g;d t=4(e);d L=e.1d;d 27=1g;d U={};U.I=t.H(\'I\');8(t.H(\'15\')==\'1b\'){21=t.H(\'1t\');L.1t=\'2j\';L.15=\'\';27=1P}U.X=4.1h.3C(e);U.1q=4.1h.4e(e);d 3L=e.2a?e.2a.45:t.H!
(\'5X\');U.E=G(t.H(\'E\'))||0;U.F=G(t.H(\'F\'))||0;d 4l=\'5W\'+G(14.5V()*4z);d 1R=K.60(/^4j$|^63$|^62$|^6f$|^5v$|^5a$|^3Z$|^5g$|^5d$|^5b$|^5f$|^5e$|^5c$|^58$/i.2Z(e.38)?\'5w\':e.38);4.1I(1R,\'5r\',4l);1R.4L=\'5q\';d 12=1R.1d;d E=0;d F=0;8(U.I==\'2K\'||U.I==\'2t\'){E=U.E;F=U.F}12.15=\'1b\';12.E=E+\'V\';12.F=F+\'V\';12.I=U.I!=\'2K\'&&U.I!=\'2t\'?\'2K\':U.I;12.2U=\'2j\';12.B=U.X.1K+\'V\';12.C=U.X.1F+\'V\';12.2H=U.1q.t;12.2C=U.1q.r;12.2O=U.1q.b;12.2B=U.1q.l;8(4.3T.5s){12.45=3L}J{12.5t=3L}e.34.4c(1R,e);L.2H=\'2f\';L.2C=\'2f\';L.2O=\'2f\';L.2B=\'2f\';L.I=\'2t\';L.5p=\'1b\';L.E=\'2f\';L.F=\'2f\';8(27){L.15=\'1b\';L.1t=21}1R.5o(e);12.15=\'2w\';u{U:U,5i:4(1R)}};4.P.2z={5k:[0,M,M],5l:[4n,M,M],5n:[4q,4q,6d],6D:[0,0,0],7s:[0,0,M],7r:[4h,42,42],7q:[0,M,M],7o:[0,0,2l],7p:[0,2l,2l],7t:[3U,3U,3U],7u:[0,7y,0],7x:[7w,7v,4i],7n:[2l,0,2l],7m:[7e,4i,47],7d:[M,4o,0],7c:[7A,50,7b],7f:[2l,0,0],7g:[7l,7k,7j],7h:[7i,0,3n],7z:[M,0,M],7L:[M,7T,0],7U:[0,1N,0],7Q:[75,0,7S],7V:[4n,4a,4o],7P:[7F,7E,4a],7N!
:[4b,M,M],7B:[4d,7C,4d],7G:[3n,3n,3n],7H:[M,7J,7D],7I:[M,M,4b],7K:[0,M
,0],7M:[M,0,M],7O:[1N,0,0],7R:[0,0,1N],7a:[1N,1N,0],78:[M,4h,0],6z:[M,30,6y],6x:[1N,0,1N],6v:[M,0,0],6w:[30,30,30],6A:[M,M,M],6B:[M,M,0]};4.P.1V=k(1o,4p){8(4.P.2z[1o])u{r:4.P.2z[1o][0],g:4.P.2z[1o][1],b:4.P.2z[1o][2]};J 8(Y=/^23\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.3i(1o))u{r:G(Y[1]),g:G(Y[2]),b:G(Y[3])};J 8(Y=/23\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.3i(1o))u{r:1i(Y[1])*2.55,g:1i(Y[2])*2.55,b:1i(Y[3])*2.55};J 8(Y=/^#([a-20-24-9])([a-20-24-9])([a-20-24-9])$/.3i(1o))u{r:G("2e"+Y[1]+Y[1]),g:G("2e"+Y[2]+Y[2]),b:G("2e"+Y[3]+Y[3])};J 8(Y=/^#([a-20-24-9]{2})([a-20-24-9]{2})([a-20-24-9]{2})$/.3i(1o))u{r:G("2e"+Y[1]),g:G("2e"+Y[2]),b:G("2e"+Y[3])};J u 4p==1P?1g:{r:M,g:M,b:M}};4.P.4O={4m:1,3v:1,4k:1,3z:1,6F:1,6E:1,B:1,F:1,79:1,6C:1,2O:1,2B:1,2C:1,2H:1,2u:1,3p:1,2M:1,3o:1,1D:1,6u:1,6t:1,43:1,49:1,44:1,48:1,6l:1,6k:1,E:1,C:1,3k:1};4.P.4B={6j:1,6h:1,6i:1,6m:1,6n:1,1o:1,6g:1};4.P.2A=[\!
'6s\',\'6r\',\'6q\',\'6o\'];4.P.3w={\'3y\':[\'2L\',\'4w\'],\'3t\':[\'2L\',\'3B\'],\'3h\':[\'3h\',\'\'],\'3q\':[\'3q\',\'\']};4.4P.2R({6p:k(1C,2k,11,3a){u A.2G(k(){d 3u=4.2k(2k,11,3a);d e=2N 4.53(A,3u,1C)})},3A:k(2k,3a){u A.2G(k(){d 3u=4.2k(2k,3a);d e=2N 4.3A(A,3u)})},3d:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l)})},6G:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l);8(A.2G&&A.2G[\'P\'])A.2G.P=[]})}});4.2R({3A:k(N,D){d z=A,4R;z.1l=k(){8(4.4y(D.32))D.32.1H(N)};z.2x=4C(k(){z.1l()},D.1J);N.1G=z},11:{4N:k(p,n,51,54,1J){u((-14.6H(p*14.70)/2)+0.5)*54+51}},53:k(N,D,1C){d z=A,4R;d y=N.1d;d 4G=4.H(N,"2U");d 2g=4.H(N,"15");d O={};z.3j=(2N 4F()).4r();D.11=D.11&&4.11[D.11]?D.11:\'4N\';z.2T=k(S,1a){8(4.P.4O[S]){8(1a==\'2X\'||1a==\'2V\'||1a==\'4A\'){8(!N.1T)N.1T={};d r=1i(4.1Y(N,S));N.1T[S]=r&&r>-4z?r:(1i(4.H(N,S))||0);1a=1a==\'4A\'?(2g==\'1b\'?\'2X\':\'2V\'):1a;D[1a]=1P;O[S]=1a==\'2X\'?[0,N.1T[S]]:[N.1T[S],0];8(S!=\'1D\')y[S]=O[S][0]+(S!=\'3k\'&&S!=\'3H\'?\'V\':\'\');J 4.1I(y,"1D",O[S][0])}J{O[S]=[1i(4.1Y(N,S!
)),1i(1a)||0]}}J 8(4.P.4B[S])O[S]=[4.P.1V(4.1Y(N,S)),4.P.1V(1a)];J 8(/
^3h$|3q$|2L$|3t$|3y$/i.2Z(S)){d m=1a.1Q(/\\s+/g,\' \').1Q(/23\\s*\\(\\s*/g,\'23(\').1Q(/\\s*,\\s*/g,\',\').1Q(/\\s*\\)/g,\')\').4x(/([^\\s]+)/g);2n(S){R\'3h\':R\'3q\':R\'3y\':R\'3t\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];Z(d i=0;i<4.P.2A.1x;i++){d 1A=4.P.3w[S][0]+4.P.2A[i]+4.P.3w[S][1];O[1A]=S==\'3t\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),1i(m[i])]}19;R\'2L\':Z(d i=0;i<m.1x;i++){d 3M=1i(m[i]);d 2Y=!6Z(3M)?\'4w\':(!/6Y|1b|2j|6W|6X|71|72|77|76|74|73/i.2Z(m[i])?\'3B\':1g);8(2Y){Z(d j=0;j<4.P.2A.1x;j++){1A=\'2L\'+4.P.2A[j]+2Y;O[1A]=2Y==\'3B\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),3M]}}J{y[\'6V\']=m[i]}}19}}J{y[S]=1a}u 1g};Z(p 1u 1C){8(p==\'1d\'){d 1w=4.3J(1C[p]);Z(2s 1u 1w){A.2T(2s,1w[2s])}}J 8(p==\'4L\'){8(K.31)Z(d i=0;i<K.31.1x;i++){d 2m=K.31[i].2m||K.31[i].6U||W;8(2m){Z(d j=0;j<2m.1x;j++){8(2m[j].6M==\'.\'+1C[p]){d 26=2N 6L(\'\\.\'+1C[p]+\' {\');d 1E=2m[j].1d.6K;d 1w=4.3J(1E.1Q(26,\'\').1Q(/}/g,\'\'));Z(2s 1u 1w){A.2T(2s,1w[2s])}}}}}}J{!
A.2T(p,1C[p])}}y.15=2g==\'1b\'?\'2w\':2g;y.2U=\'2j\';z.1l=k(){d t=(2N 4F()).4r();8(t>D.1J+z.3j){4U(z.2x);z.2x=W;Z(p 1u O){8(p=="1D")4.1I(y,"1D",O[p][1]);J 8(1m O[p][1]==\'3Z\')y[p]=\'23(\'+O[p][1].r+\',\'+O[p][1].g+\',\'+O[p][1].b+\')\';J y[p]=O[p][1]+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}8(D.2V||D.2X)Z(d p 1u N.1T)8(p=="1D")4.1I(y,p,N.1T[p]);J y[p]="";y.15=D.2V?\'1b\':(2g!=\'1b\'?2g:\'2w\');y.2U=4G;N.1G=W;8(4.4y(D.32))D.32.1H(N)}J{d n=t-A.3j;d 2J=n/D.1J;Z(p 1u O){8(1m O[p][1]==\'3Z\'){y[p]=\'23(\'+G(4.11[D.11](2J,n,O[p][0].r,(O[p][1].r-O[p][0].r),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].g,(O[p][1].g-O[p][0].g),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].b,(O[p][1].b-O[p][0].b),D.1J))+\')\'}J{d 3Q=4.11[D.11](2J,n,O[p][0],(O[p][1]-O[p][0]),D.1J);8(p=="1D")4.1I(y,"1D",3Q);J y[p]=3Q+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}}}};z.2x=4C(k(){z.1l()},13);N.1G=z},3F:k(N,1l){8(1l)N.1G.3j-=6I;J{3E.4U(N.1G.2x);N.1G=W;4.6J(N,"P")}}});4.3J=k(1E){d 1w={};8(1m 1E==\'3W\'){1E=1E.3s().4W(\';\');Z(d i=0;i<1E.!
1x;i++){26=1E[i].4W(\':\');8(26.1x==2){1w[4.4V(26[0].1Q(/\\-(\\w)/g,k(
m,c){u c.6N()}))]=4.4V(26[1])}}}u 1w};4.6={o:W,17:W,T:W,1c:W,X:W,I:W,2d:k(e){4.6.T=(A.37)?A.37:A;4.6.1c=4.1h.2y(e);4.6.X={C:G(4(4.6.T).H(\'C\'))||0,B:G(4(4.6.T).H(\'B\'))||0};4.6.I={E:G(4(4.6.T).H(\'E\'))||0,F:G(4(4.6.T).H(\'F\'))||0};4(K).1L(\'3f\',4.6.3G).1L(\'3e\',4.6.3P);8(1m 4.6.T.f.4H===\'k\'){4.6.T.f.4H.1H(4.6.T)}u 1g},3P:k(e){4(K).1X(\'3f\',4.6.3G).1X(\'3e\',4.6.3P);8(1m 4.6.T.f.4E===\'k\'){4.6.T.f.4E.1H(4.6.T)}4.6.T=W},3G:k(e){8(!4.6.T){u}1c=4.1h.2y(e);25=4.6.I.E-4.6.1c.y+1c.y;29=4.6.I.F-4.6.1c.x+1c.x;25=14.1M(14.2P(25,4.6.T.f.2E-4.6.X.B),4.6.T.f.2r);29=14.1M(14.2P(29,4.6.T.f.2D-4.6.X.C),4.6.T.f.2o);8(1m 4.6.T.f.4I===\'k\'){d 2Q=4.6.T.f.4I.1H(4.6.T,[29,25]);8(1m 2Q==\'6O\'&&2Q.1x==2){29=2Q[0];25=2Q[1]}}4.6.T.1d.E=25+\'V\';4.6.T.1d.F=29+\'V\';u 1g},41:k(e){4(K).1L(\'3f\',4.6.3K).1L(\'3e\',4.6.3d);4.6.o=A.o;4.6.17=A.17;4.6.1c=4.1h.2y(e);8(4.6.o.f.4J){4.6.o.f.4J.1H(4.6.o,[A])}4.6.X={C:G(4(A.o).H(\'C\'))||0,B:G(4(A.o).H(\'B\'))||0};4.6.I={E:G(4(A.o).H(\'E\'))||0,F:G(4(A!
.o).H(\'F\'))||0};u 1g},3d:k(){4(K).1X(\'3f\',4.6.3K).1X(\'3e\',4.6.3d);8(4.6.o.f.4M){4.6.o.f.4M.1H(4.6.o,[4.6.17])}4.6.o=W;4.6.17=W},1W:k(1v,3b){u 14.2P(14.1M(4.6.X.C+1v*3b,4.6.o.f.3o),4.6.o.f.3p)},1O:k(1s,3b){u 14.2P(14.1M(4.6.X.B+1s*3b,4.6.o.f.2M),4.6.o.f.2u)},4K:k(B){u 14.2P(14.1M(B,4.6.o.f.2M),4.6.o.f.2u)},3K:k(e){8(4.6.o==W){u}1c=4.1h.2y(e);1v=1c.x-4.6.1c.x;1s=1c.y-4.6.1c.y;q={C:4.6.X.C,B:4.6.X.B};Q={E:4.6.I.E,F:4.6.I.F};2n(4.6.17){R\'e\':q.C=4.6.1W(1v,1);19;R\'4s\':q.C=4.6.1W(1v,1);q.B=4.6.1O(1s,1);19;R\'w\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'3g\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;q.B=4.6.1O(1s,1);19;R\'22\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'n\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;19;R\'39\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,1);19;R\'s\':q.B=4.6.1O(1s,1);19}8(4.6.o.f.1f){8(4.6.17==\'n\'||4.6.17==\'s\')1e=q.B*4.6.o.f.1f;J 1e=q.C;1p=4.6.4K(1e*4.6.o.f.1f);1e=1p/4.6.o!
.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}2n(4.6.17){R\'2
2\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.B=1p;q.C=1e}8(Q.E<4.6.o.f.2r){1p=q.B+Q.E-4.6.o.f.2r;Q.E=4.6.o.f.2r;8(4.6.o.f.1f){1e=1p/4.6.o.f.1f;2n(4.6.17){R\'22\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.C=1e}q.B=1p}8(Q.F<4.6.o.f.2o){1e=q.C+Q.F-4.6.o.f.2o;Q.F=4.6.o.f.2o;8(4.6.o.f.1f){1p=1e*4.6.o.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}q.B=1p}q.C=1e}8(Q.E+q.B>4.6.o.f.2E){q.B=4.6.o.f.2E-Q.E;8(4.6.o.f.1f){q.C=q.B/4.6.o.f.1f}}8(Q.F+q.C>4.6.o.f.2D){q.C=4.6.o.f.2D-Q.F;8(4.6.o.f.1f){q.B=q.C*4.6.o.f.1f}}d 1Z=1g;1r=4.6.o.1d;1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';8(4.6.o.f.4D){1Z=4.6.o.f.4D.1H(4.6.o,[q,Q]);8(1Z){8(1Z.X){4.2R(q,1Z.X)}8(1Z.I){4.2R(Q,1Z.I)}}}1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';u 1g},4X:k(D){8(!D||!D.18||D.18.56!=6T){u}u A.2h(k(){d 7=A;7.f=D;7.f.3o=D.3o||10;7.f.2M=D.2M||10;7.f.3p=D.3p||3c;7.f.2u=D.2u||3c;7.f.2r=D.2r||-4v;7.f.2o=D.2o||-4v;7.f.2D=D.2D||3c;7.f.2E=D.2E||3c;3O=4(7).H(\'I\');8(!(3O==\'2K\'||3O==\'2t\')){7.1d.I=\'2K\'}52=/!
n|39|e|4s|s|3g|w|22/g;Z(i 1u 7.f.18){8(i.3s().4x(52)!=W){8(7.f.18[i].56==6S){2q=4(7.f.18[i]);8(2q.3S()>0){7.f.18[i]=2q.6R(0)}}8(7.f.18[i].3m){7.f.18[i].o=7;7.f.18[i].17=i;4(7.f.18[i]).1L(\'1U\',4.6.41)}}}8(7.f.1j){8(1m 7.f.1j===\'3W\'){3l=4(7.f.1j);8(3l.3S()>0){3l.2h(k(){A.37=7});3l.1L(\'1U\',4.6.2d)}}J 8(7.f.1j.3m){7.f.1j.37=7;4(7.f.1j).1L(\'1U\',4.6.2d)}J 8(7.f.1j==1P){4(A).1L(\'1U\',4.6.2d)}}})},4u:k(){u A.2h(k(){d 7=A;Z(i 1u 7.f.18){7.f.18[i].o=W;7.f.18[i].17=W;4(7.f.18[i]).1X(\'1U\',4.6.41)}8(7.f.1j){8(1m 7.f.1j===\'3W\'){2q=4(7.f.1j);8(2q.3S()>0){2q.1X(\'1U\',4.6.2d)}}J 8(7.f.1j==1P){4(A).1X(\'1U\',4.6.2d)}}7.f=W})}};4.4P.2R({6P:4.6.4X,6Q:4.6.4u});',62,492,'||||jQuery||iResize|el|if|||||var||resizeOptions|||||function||||resizeElement||newSizes||||return||||||this|height|width|options|top|left|parseInt|css|position|else|document|es|255|elem|props|fx|newPosition|case|tp|dragged|oldStyle|px|null|sizes|result|for||easing|wrs||Math|display|body|resizeDirection|handlers|br!
eak|vp|none|pointer|style|nWidth|ratio|false|iUtil|parseFloat|dragHand
le|documentElement|step|typeof|nodeEl|color|nHeight|margins|elS|dy|visibility|in|dx|newStyles|length|clientScroll|cs|nmp|old|prop|opacity|styles|wb|animationHandler|apply|attr|duration|hb|bind|max|128|getHeight|true|replace|wr|scrollTop|orig|mousedown|parseColor|getWidth|unbind|curCSS|newDimensions|fA|oldVisibility|nw|rgb|F0|newTop|rule|restoreStyle|toInteger|newLeft|currentStyle|ih|scrollLeft|startDrag|0x|0px|oldDisplay|each|iw|hidden|speed|139|cssRules|switch|minLeft|de|handle|minTop|np|absolute|maxHeight|clientWidth|block|timer|getPointer|namedColors|cssSides|marginLeft|marginRight|maxRight|maxBottom|event|queue|marginTop|clientHeight|pr|relative|border|minHeight|new|marginBottom|min|newPos|extend|axis|getValues|overflow|hide|while|show|sideEnd|test|192|styleSheets|complete|oldPosition|parentNode|self|src|dragEl|nodeName|ne|callback|side|3000|stop|mouseup|mousemove|sw|margin|exec|startTime|zIndex|handleEl|tagName|211|minWidth|maxWidth|padding|png|toLowerCase|borderColor|o!
pt|borderLeftWidth|cssSidesEnd|windowSize|borderWidth|borderTopWidth|pause|Color|getSize|scrollHeight|window|stopAnim|moveDrag|fontWeight|innerWidth|parseStyle|move|oldFloat|floatVal|offsetHeight|elPosition|stopDrag|pValue|func|size|browser|169|traverseDOM|string|offsetWidth|scrollWidth|object|innerHeight|start||paddingBottom|paddingRight|styleFloat|indexOf||paddingTop|paddingLeft|230|224|insertBefore|144|getMargins|fxCheckTag|firstChild|165|107|img|borderRightWidth|wid|borderBottomWidth|240|140|notColor|245|getTime|se|getScroll|destroy|1000|Width|match|isFunction|10000|toggle|colorCssProps|setInterval|onResize|onDragStop|Date|oldOverflow|onDragStart|onDrag|onStart|getHeightMinMax|className|onStop|linear|cssProps|fn|offsetLeft|values|offsetParent|opera|clearInterval|trim|split|build|emptyGIF|offsetTop||firstNum|directions|fxe|delta||constructor|images|ol|getPadding|textarea|form|dl|button|ul|table|iframe|getClient|wrapper|getPositionLite|aqua|azure|getPosition|beige|appendC!
hild|listStyle|fxWrapper|id|msie|cssFloat|getSizeLite|select|div|clien
tX|colgroup|col|tfoot|thead|th|fixPNG|script|vertically|header|horizontally|filter|progid|tr|AlphaImageLoader|prototype|Array|td|tbody|DXImageTransform|Microsoft|caption|frame|centerEl|random|w_|float|pageY|pageX|createElement|getBorder|input|br|clientY|buildWrapper|meta|optgroup|option|frameset|purgeEvents|destroyWrapper|removeChild|220|nextSibling|hr|outlineColor|borderBottomColor|borderLeftColor|backgroundColor|textIndent|right|borderRightColor|borderTopColor|Left|animate|Bottom|Right|Top|outlineWidth|outlineOffset|red|silver|purple|203|pink|white|yellow|lineHeight|black|fontSize|bottom|stopAll|cos|100000000|dequeue|cssText|RegExp|selectorText|toUpperCase|array|Resizable|ResizableDestroy|get|String|Object|rules|borderStyle|dotted|dashed|transparent|isNaN|PI|solid|double|outset|inset||ridge|groove|orange|letterSpacing|olive|204|darkorchid|darkorange|85|darkred|darksalmon|darkviolet|148|122|150|233|darkolivegreen|darkmagenta|darkblue|darkcyan|cyan|brown|blue|darkgrey|darkgr!
een|183|189|darkkhaki|100|fuchsia|153|lightgreen|238|193|216|173|lightgrey|lightpink|lightyellow|182|lime|gold|magenta|lightcyan|maroon|lightblue|indigo|navy|130|215|green|khaki'.split('|'),0,{}))
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1 @@
+(function($){var menu,shadow,trigger,content,hash,currentTarget;var defaults={menuStyle:{listStyle:'none',padding:'1px',margin:'0px',backgroundColor:'#fff',border:'1px solid #999',width:'100px'},itemStyle:{margin:'0px',color:'#000',display:'block',cursor:'default',padding:'3px',border:'1px solid #fff',backgroundColor:'transparent'},itemHoverStyle:{border:'1px solid #0a246a',backgroundColor:'#b6bdd2'},eventPosX:'pageX',eventPosY:'pageY',shadow:true,onContextMenu:null,onShowMenu:null};$.fn.contextMenu=function(id,options){if(!menu){menu=$('<div id="jqContextMenu"></div>').hide().css({position:'absolute',zIndex:'500'}).appendTo('body').bind('click',function(e){e.stopPropagation()})}if(!shadow){shadow=$('<div></div>').css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499}).appendTo('body').hide()}hash=hash||[];hash.push({id:id,menuStyle:$.extend({},defaults.menuStyle,options.menuStyle||{}),itemStyle:$.extend({},defaults.itemStyle,options.itemStyle||{}),itemHove!
rStyle:$.extend({},defaults.itemHoverStyle,options.itemHoverStyle||{}),bindings:options.bindings||{},shadow:options.shadow||options.shadow===false?options.shadow:defaults.shadow,onContextMenu:options.onContextMenu||defaults.onContextMenu,onShowMenu:options.onShowMenu||defaults.onShowMenu,eventPosX:options.eventPosX||defaults.eventPosX,eventPosY:options.eventPosY||defaults.eventPosY});var index=hash.length-1;$(this).bind('contextmenu',function(e){var bShowContext=(!!hash[index].onContextMenu)?hash[index].onContextMenu(e):true;if(bShowContext)display(index,this,e,options);return false});return this};function display(index,trigger,e,options){var cur=hash[index];content=$('#'+cur.id).find('ul:first').clone(true);content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(function(){$(this).css(cur.itemHoverStyle)},function(){$(this).css(cur.itemStyle)}).find('img').css({verticalAlign:'middle',paddingRight:'2px'});menu.html(content);if(!!cur.onShowMenu)menu=cur.onShowMenu(e,m!
enu);$.each(cur.bindings,function(id,func){$('#'+id,menu).bind('click'
,function(e){hide();func(trigger,currentTarget)})});menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();if(cur.shadow)shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();$(document).one('click',hide)}function hide(){menu.hide();shadow.hide()}$.contextMenu={defaults:function(userDefaults){$.each(userDefaults,function(i,val){if(typeof val=='object'&&defaults[i]){$.extend(defaults[i],val)}else defaults[i]=val})}}})(jQuery);$(function(){$('div.contextMenu').hide()});
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,10 @@
+/* Copyright (c) 2007 Paul Bakaus (paul.bakaus(a)googlemail.com) and Brandon Aaron (brandon.aaron(a)gmail.com || http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ * $LastChangedDate:2007-08-17 15:00:33 +0200 (Fri, 17 Aug 2007) $
+ * $Rev:6019 $
+ *
+ * Version: 1.0rc1
+ */
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(8($){p g=$.19.D,w=$.19.w;$.19.z({D:8(){4(1[0]==h)5 Z.1a||$.I&&7.10.1z||7.q.1z;4(1[0]==7)5 1t.1s(7.q.1H,7.q.13);5 g.1k(1,1h)},w:8(){4(1[0]==h)5 Z.1d||$.I&&7.10.1c||7.q.1c;4(1[0]==7)5 1t.1s(7.q.1B,7.q.11);5 w.1k(1,1h)},1a:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13-f(1,\'k\')-f(1,\'1A\'):1.D()+f(1,\'18\')+f(1,\'1y\')},1d:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11-f(1,\'j\')-f(1,\'1x\'):1.w()+f(1,\'15\')+f(1,\'1u\')},1K:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13:1.D()+f(1,\'k\')+f(1,\'1A\')+f(1,\'18\')+f(1,\'1y\')},1J:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11:1.w()+f(1,\'j\')+f(1,\'1x\')+f(1,\'15\')+f(1,\'1u\')},l:8(a){4(a!=1q)5 1.1!
o(8(){4(1==h||1==7)h.1m(a,$(h).n());o 1.l=a});4(1[0]==h||1[0]==7)5 Z.1G||$.I&&7.10.l||7.q.l;5 1[0].l},n:8(a){4(a!=1q)5 1.1o(8(){4(1==h||1==7)h.1m($(h).l(),a);o 1.n=a});4(1[0]==h||1[0]==7)5 Z.1F||$.I&&7.10.n||7.q.n;5 1[0].n},C:8(c,d){p a=1[0],3=a.S,6=a.R,c=$.z({Q:m,K:m,O:m,t:m},c||{}),x=a.N,y=a.M,v=a.l,u=a.n;4($.i.17||$.i.16){x+=f(a,\'j\');y+=f(a,\'k\')}4(($.i.Y||$.i.X)&&$.r(6,\'C\')!=\'W\'){x-=f(6,\'j\');y-=f(6,\'k\')}4($.i.17){B{4(3!=a&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}4(3==6)1v}H((3=3.S)&&3.s!=\'G\')}4($.i.16&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\')){B{x+=6.N;y+=6.M;x+=f(6,\'j\');y+=f(6,\'k\')}H((6=6.R)&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\'))}p b=e(a,c,x,y,v,u);4(d){$.z(d,b);5 1}o{5 b}},1I:8(b,c){p x=0,y=0,v=0,u=0,9=1[0],3=1[0],6,U,L=$.r(9,\'C\'),A=$.i.17,E=$.i.16,1p=$.i.Y,1n=$.i.X,12=m,14=m,b=$.z({Q:F,K:m,O:m,t:F,1j:m},b||{});4(b.1j)5 1.1i(b,c);4(9.s==\'G\'){x=9.N;y=9.M;4(A){x+=f(9,\'V\')+(f(9,\'j\')*2);y+=f(9,\'T\')+(f(9,\'k\')*2)}o 4(1n){x+=f(9,\'V\');y+=f(9,\'T!
\')}o 4(E&&1l.I){x+=f(9,\'j\');y+=f(9,\'k\')}}o{B{U=$.r(3,\'C\');x+=3.
N;y+=3.M;4(A||E){x+=f(3,\'j\');y+=f(3,\'k\');4(A&&U==\'1g\')12=F;4(E&&U==\'1E\')14=F}6=3.R;4(b.t||A){B{4(b.t){v+=3.l;u+=3.n}4(A&&3!=9&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}3=3.S}H(3!=6)}3=6;4(3.s==\'G\'||3.s==\'1e\'){4((1p||(E&&$.I))&&L!=\'1g\'&&L!=\'1f\'){x+=f(3,\'V\');y+=f(3,\'T\')}4((A&&!12&&L!=\'1f\')||(E&&L==\'W\'&&!14)){x+=f(3,\'j\');y+=f(3,\'k\')}1v}}H(3)}p a=e(9,b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}},1i:8(b,c){p x=0,y=0,v=0,u=0,3=1[0],6,b=$.z({Q:F,K:m,O:m,t:F},b||{});B{x+=3.N;y+=3.M;6=3.R;4(b.t){B{v+=3.l;u+=3.n;3=3.S}H(3!=6)}3=6}H(3&&3.s!=\'G\'&&3.s!=\'1e\');p a=e(1[0],b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}}});p f=8(b,a){5 1D($.r(b.1C?b[0]:b,a))||0};p e=8(b,c,x,y,a,d){4(!c.Q){x-=f(b,\'V\');y-=f(b,\'T\')}4(c.K&&($.i.Y||$.i.X)){x+=f(b,\'j\');y+=f(b,\'k\')}o 4(!c.K&&!($.i.Y||$.i.X)){x-=f(b,\'j\');y-=f(b,\'k\')}4(c.O){x+=f(b,\'15\');y+=f(b,\'18\')}4(c.t){a-=b.l;d-=b.n}5 c.t?{1b:y-d,1r:x-a,n:d,l:a}:{1b:y,1r:x}}})(1l);',62,109,'|this||parent|if|return|op|document|f!
unction|elem||||||||window|browser|borderLeftWidth|borderTopWidth|scrollLeft|false|scrollTop|else|var|body|css|tagName|scroll|st|sl|width|||extend|mo|do|position|height|ie|true|BODY|while|boxModel|visible|border|elemPos|offsetTop|offsetLeft|padding|is|margin|offsetParent|parentNode|marginTop|parPos|marginLeft|static|opera|safari|self|documentElement|offsetWidth|absparent|offsetHeight|relparent|paddingLeft|msie|mozilla|paddingTop|fn|innerHeight|top|clientWidth|innerWidth|HTML|fixed|absolute|arguments|offsetLite|lite|apply|jQuery|scrollTo|oa|each|sf|undefined|left|max|Math|paddingRight|break|overflow|borderRightWidth|paddingBottom|clientHeight|borderBottomWidth|scrollWidth|jquery|parseInt|relative|pageYOffset|pageXOffset|scrollHeight|offset|outerWidth|outerHeight'.split('|'),0,{}))
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1 @@
+eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(4($){$.H=1f 4(){3 h=\'19\';3 6=7.2;3 F=U;3 l;b.n=4(){};3 C=4(){$(\'.s-p\').1a()};$(9).Q(h,C);5($.y.1b){3 u,m=q;$(4(){u=$(\'<8 1s="1c: 1d;"></8>\').L(9.M).1e(0);3 8=u.E.9;8.V();8.R();5(6&&6!=\'#\'){8.7.2=6.S(\'#\',\'\')}});b.n=4(2){6=2;3 8=u.E.9;8.V();8.R();8.7.2=2.S(\'#\',\'\')};l=4(){3 8=u.E.9;3 k=8.7.2;5(k!=6){6=k;5(k&&k!=\'#\'){$(\'a[@d$="\'+k+\'"]\').f();7.2=k}g 5(m){7.2=\'\';$(9).A(h)}}m=B}}g 5($.y.1g||$.y.1h){b.n=4(2){6=2};l=4(){5(7.2){5(6!=7.2){6=7.2;$(\'a[@d$="\'+6+\'"]\').f()}}g 5(6){6=\'\';$(9).A(h)}}}g 5($.y.1i){3 c,o,x;$(4(){c=[];c.j=z.j;o=[]});3 r=q,m=q;x=4(2){c.Z(2);o.j=0;r=q};b.n=4(2){6=2;x(6)};l=4(){3 t=z.j-c.j;5(t){r=q;5(t<0){X(3 i=!
0;i<1j.1k(t);i++)o.1m(c.1n())}g{X(3 i=0;i<t;i++)c.Z(o.11())}3 K=c[c.j-1];$(\'a[@d$="\'+K+\'"]\').f();6=7.2}g 5(c[c.j-1]==T&&!r){5(9.N.13(\'#\')>=0){$(\'a[@d$="\'+\'#\'+9.N.14(\'#\')[1]+\'"]\').f()}g 5(m){$(9).A(h)}r=B}m=B}}b.16=4(D){5(W D==\'4\'){$(9).18(h,C).Q(h,D)}5(7.2&&W x==\'T\'){$(\'a.s[@d$="\'+7.2+\'"]\').f()}5(l&&F==U){F=1l(l,1p)}}};$.I.s=4(p,v){v=$.1q({P:\'s-\'},v||{});3 G=$(p).12()&&$(p)||$(\'<J></J>\').L(\'M\');G.15(\'s-p\');O b.17(4(i){3 10=b.d;3 2=\'#\'+v.P+(i+1);b.d=2;$(b).f(4(e){3 w=e.Y;G.1o(10,4(){5(w){$.H.n(2)}})})})};$.I.z=4(){O b.f(4(e){3 w=e.Y;5(w){$.H.n(b.2)}})}})(1r);',62,91,'||hash|var|function|if|_currentHash|location|iframe|document||this|_backStack|href||click|else|RESET_EVENT||length|iframeHash|_observeHistory|initialized|update|_forwardStack|output|false|isFirst|remote|historyDelta|_historyIframe|settings|trueClick|_addHistory|browser|history|trigger|true|_defaultReset|callback|contentWindow|_intervalId|target|ajaxHistory|fn|div|cachedHash|append!
To|body|URL|return|hashPrefix|bind|close|replace|undefined|null|open|t
ypeof|for|clientX|push|remoteURL|shift|size|indexOf|split|addClass|initialize|each|unbind|historyReset|empty|msie|display|none|get|new|mozilla|opera|safari|Math|abs|setInterval|unshift|pop|load|200|extend|jQuery|style'.split('|'),0,{}))
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,63 @@
+/*
+ * jqModal - Minimalist Modaling with jQuery
+ *
+ * Copyright (c) 2007 Brice Burgess <bhb(a)iceburg.net>, http://www.iceburg.net
+ * Licensed under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * $Version: 2007.02.25 +r9
+ */
+(function($) {
+$.fn.jqm=function(o){
+var _o = {
+zIndex: 3000,
+overlay: 50,
+overlayClass: 'jqmOverlay',
+closeClass: 'jqmClose',
+trigger: '.jqModal',
+ajax: false,
+target: false,
+modal: false,
+onShow: false,
+onHide: false,
+onLoad: false
+};
+return this.each(function(){if(this._jqm)return; s++; this._jqm=s;
+hash[s]={c:$.extend(_o, o),a:false,w:$(this).addClass('jqmID'+s),s:s};
+if(_o.trigger)$(this).jqmAddTrigger(_o.trigger);
+});}
+
+$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide'); return this;}
+$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow'); return this;}
+$.fn.jqmShow=function(t){return this.each(function(){if(!hash[this._jqm].a)$.jqm.open(this._jqm,t)});}
+$.fn.jqmHide=function(t){return this.each(function(){if(hash[this._jqm].a)$.jqm.close(this._jqm,t)});}
+
+$.jqm = {
+open:function(s,t){var h=hash[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;h.a=true;h.w.css('z-index',z);
+ if(c.modal) {if(ma.length == 0)mf('bind');ma.push(s);o.css('cursor','wait');}
+ else if(c.overlay > 0)h.w.jqmAddClose(o);
+ else o=false;
+
+ h.o=(o)?o.addClass(c.overlayClass).appendTo('body'):false;
+ if(ie6){$('html,body').css('height','100%');if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}
+
+ if(c.ajax) {var r=c.target,u=c.ajax;
+ r=(r)?(typeof r == 'string')?$(r,h.w):$(r):h.w; u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
+ r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));f(h);});}
+ else if(cc)h.w.jqmAddClose($(cc,h.w));
+
+ (c.onShow)?c.onShow(h):h.w.show();f(h);return false;
+},
+close:function(s){var h=hash[s];h.a=false;
+ if(ma.length != 0){ma.pop();if(ma.length == 0)mf('unbind');}
+ if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return false;
+}};
+var s=0,hash={},ma=[],ie6=$.browser.msie && typeof XMLHttpRequest == 'function',
+i=$('<iframe class="jqm"></iframe>').css({opacity:0}),
+f=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if($('iframe.jqm',h.w).length == 0)h.w.prepend(i);
+ h.f=$(':input:visible',h.w)[0]||h.w[0];h.f.focus();},
+mf=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
+m=function(e) {var h=hash[ma[ma.length-1]], r=(!$(e.target).parents('.jqmID'+h.s).length == 0);if(!r)h.f.focus();return r;},
+hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});
+ $(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(hash[this[i][s]])hash[this[i][s]].w[i](this);return false;});}});};
+})(jQuery);
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2007 Josh Bush (digitalbush.com)
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Progress Bar Plugin for jQuery
+ * Version: Alpha 2
+ * Release: 2007-02-26
+ */
+(function($) {
+ //Main Method
+ $.fn.reportprogress = function(val,maxVal) {
+ var max=100;
+ if(maxVal)
+ max=maxVal;
+ return this.each(
+ function(){
+ var div=jQuery(this);
+ var innerdiv=div.find(".progress");
+
+ if(innerdiv.length!=1){
+ innerdiv=jQuery("<div class='progress'></div>");
+ div.append("<div class='text'> </div>");
+ jQuery("<span class='text'> </span>").css("width",div.width()).appendTo(innerdiv);
+ div.append(innerdiv);
+ }
+ var width=Math.round(val/max*100);
+ innerdiv.css("width",width+"%");
+ div.find(".text").html(width+" %");
+ }
+ );
+ };
+})(jQuery);
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1 @@
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(4(z){z.23({9:{2d:0}});z.1z.9=4(y,x){3(K y==\'2E\')x=y;x=z.23({J:(y&&K y==\'1Y\'&&y>0)?--y:0,12:C,H:z.1d?2h:V,R:V,1p:\'2KD;\',21:\'R-2z-\',1A:C,1x:C,1w:C,1v:C,1u:\'34\',2p:C,2o:C,2m:V,2j:C,19:C,16:C,1g:\'9-1H\',N:\'9-29\',1a:\'9-12\',1b:\'9-26\',1t:\'9-1K\',1C:\'9-2B\',22:\'10\'},x||{});z.7.1j=z.7.1j||z.7.Z&&K 2x==\'4\';4 1y(){1X(0,0)}G 5.Y(4(){2 v=5;2 j=z(\'15.\'+x.1g,v);j=j.X()&&j||z(\'>15:6(0)\',v);2 n=z(\'a\',j);3(x.R){2 w={};n.Y(4(){z(5).2l(\'<I>\'+z(5).2l()+\'</I>\');2 a=x.21+(++z.9.2d);2 b=\'#\'+a;w[b]=5.1O;5.1O=b;z(\'<10 W="\'+a+\'" 31="\'+x.1b+\'"></10>\').2g(v)})}2 u=z(\'10.\'+x.1b,v);u=u.X()&&u||z(\'>\'+x.22,v);j.P(\'.\'+x.1g)||j.O(x.1g);u.!
Y(4(){2 a=z(5);a.P(\'.\'+x.1b)||a.O(x.1b)});2 p=z(\'8\',j).2b(z(\'8.\'+x.N,j)[0]);3(p>=0){x.J=p}3(1c.B){n.Y(4(a){3(5.B==1c.B){x.J=a;3((z.7.Z||z.7.2T)&&!x.R){2 b=z(1c.B);2 c=b.17(\'W\');b.17(\'W\',\'\');1n(4(){b.17(\'W\',c)},2O)}1y();G V}})}3(z.7.Z){1y()}u.18(\':6(\'+x.J+\')\').1F().1o().2I(\':6(\'+x.J+\')\').O(x.1t);3(!x.R){z(\'8\',j).1f(x.N).6(x.J).O(x.N)}3(x.2m){2 t=4(e){2 b=z.2C(u.1l(),4(a){2 h,1B=z(a);3(e){3(z.7.1j){a.11.2A(\'20\');a.11.E=\'\';a.1k=C}h=1B.S({\'1q-E\':\'\'}).E()}D{h=1B.E()}G h}).2y(4(c,d){G d-c});3(z.7.1j){u.Y(4(){5.1k=b[0]+\'1Z\';5.11.2w(\'20\',\'5.11.E = 5.1k ? 5.1k : "2v"\')})}D{u.S({\'1q-E\':b[0]+\'1Z\'})}};t();2 r=v.1W;2 l=v.1h;2 q=z(\'#9-1V-1U-X\').1l(0)||z(\'<I W="9-1V-1U-X">M</I>\').S({1T:\'2u\',2t:\'2s\',2r:\'2q\'}).2g(T.1S).1l(0);2 s=q.1h;32(4(){2 b=v.1W;2 a=v.1h;2 c=q.1h;3(a>l||b!=r||c!=s){t((b>r||c<s));r=b;l=a;s=c}},1R)}2 m={},14={},1Q=x.2p||x.1u,1P=x.2o||x.1u;3(x.1x||x.1A){3(x.1x){m[\'E\']=\'1F\';14[\'E\']=\'1K\'}3(x.1A){m[\'L\']=\'1F\';14[\!
'L\']=\'1K\'}}D{3(x.1w){m=x.1w}D{m[\'1q-2n\']=0;1Q=x.H?1R:1}3(x.1v){14
=x.1v}D{14[\'1q-2n\']=0;1P=x.H?1R:1}}2 o=x.2j,19=x.19,16=x.16;n.1s(\'2k\',4(){2 c=z(5).1e(\'8:6(0)\');3(v.1r||c.P(\'.\'+x.N)||c.P(\'.\'+x.1a)){G V}2 a=5.B;3(z.7.Z){z(5).U(\'13\');3(x.H){z.1d.1N(a);1c.B=a.1M(\'#\',\'\')}}D 3(z.7.1L){2 b=z(\'<2i 30="\'+a+\'"><10><2Z 2X="2f" 2W="h" /></10></2i>\').1l(0);b.2f();z(5).U(\'13\');3(x.H){z.1d.1N(a)}}D{3(x.H){1c.B=a.1M(\'#\',\'\')}D{z(5).U(\'13\')}}});n.1s(\'1J\',4(){2 a=z(5).1e(\'8:6(0)\');3(z.7.1L){a.1i({L:0},1,4(){a.S({L:\'\'})})}a.O(x.1a)});3(x.12&&x.12.1I){2e(2 i=0,k=x.12.1I;i<k;i++){n.6(--x.12[i]).U(\'1J\').1o()}};n.1s(\'2c\',4(){2 a=z(5).1e(\'8:6(0)\');a.1f(x.1a);3(z.7.1L){a.1i({L:1},1,4(){a.S({L:\'\'})})}});n.1s(\'13\',4(b){2 g=b.2V;2 e=5,8=z(5).1e(\'8:6(0)\'),F=z(5.B),Q=u.18(\':2U\');3(v.1r||8.P(\'.\'+x.N)||8.P(\'.\'+x.1a)||K o==\'4\'&&o(5,F[0],Q[0])===V){5.2a();G V}v[\'1r\']=2h;3(F.X()){3(z.7.Z&&x.H){2 d=5.B.1M(\'#\',\'\');F.17(\'W\',\'\');1n(4(){F.17(\'W\',d)},0)}4 1G(){3(x.H&&g){z.1d.1N(e.B)}Q.1i(14,1P,4(){z(e).1e(\'8:6(0)!
\').O(x.N).2S().1f(x.N);3(K 19==\'4\'){19(e,F[0],Q[0])}Q.O(x.1t).S({1T:\'\',28:\'\',E:\'\',L:\'\'});F.1f(x.1t).1i(m,1Q,4(){F.S({28:\'\',E:\'\',L:\'\'});3(z.7.Z){Q[0].11.18=\'\';F[0].11.18=\'\'}3(K 16==\'4\'){16(e,F[0],Q[0])}v[\'1r\']=C})})}3(!x.R){1G()}D{2 f=z(5),I=z(\'I\',5)[0],27=I.1E;f.O(x.1C);3(x.1p){I.1E=x.1p}1n(4(){z(e.B).2R(w[e.B],4(){1G();3(x.1p){I.1E=27}f.1f(x.1C)})},0)}}D{2Q(\'2P P 2N 2M 26.\')}2 a=1D.2L||T.1m&&T.1m.25||T.1S.25||0;2 c=1D.2J||T.1m&&T.1m.24||T.1S.24||0;1n(4(){1D.1X(a,c)},0);5.2a();G x.H&&!!g});3(x.R){n.6(x.J).U(\'13\').1o()}3(x.H){z.1d.2Y(4(){n.6(x.J).U(\'13\').1o()})}})};2 A=[\'2k\',\'1J\',\'2c\'];2e(2 i=0;i<A.1I;i++){z.1z[A[i]]=(4(d){G 4(c){G 5.Y(4(){2 b=z(\'15.9-1H\',5);b=b.X()&&b||z(\'>15:6(0)\',5);2 a;3(!c||K c==\'1Y\'){a=z(\'8 a\',b).6((c&&c>0&&c-1||0))}D 3(K c==\'2H\'){a=z(\'8 a[@1O$="#\'+c+\'"]\',b)}a.U(d)})}})(A[i])}z.1z.2G=4(){2 c=[];5.Y(4(){2 a=z(\'15.9-1H\',5);a=a.X()&&a||z(\'>15:6(0)\',5);2 b=z(\'8\',a);c.2F(b.2b(b.18(\'.9-29\')[0])+1)}!
);G c[0]}})(33);',62,191,'||var|if|function|this|eq|browser|li|tabs|||
|||||||||||||||||||||||||hash|null|else|height|toShow|return|bookmarkable|span|initial|typeof|opacity||selectedClass|addClass|is|toHide|remote|css|document|trigger|false|id|size|each|msie|div|style|disabled|click|hideAnim|ul|onShow|attr|filter|onHide|disabledClass|containerClass|location|ajaxHistory|parents|removeClass|navClass|offsetHeight|animate|msie6|minHeight|get|documentElement|setTimeout|end|spinner|min|locked|bind|hideClass|fxSpeed|fxHide|fxShow|fxSlide|unFocus|fn|fxFade|jq|loadingClass|window|innerHTML|show|switchTab|nav|length|disableTab|hide|safari|replace|update|href|hideSpeed|showSpeed|50|body|display|font|watch|offsetWidth|scrollTo|number|px|behaviour|hashPrefix|tabStruct|extend|scrollTop|scrollLeft|container|text|overflow|selected|blur|index|enableTab|remoteCount|for|submit|appendTo|true|form|onClick|triggerTab|html|fxAutoHeight|width|fxHideSpeed|fxShowSpeed|hidden|visibility|absolute|position|block|1px|setExpression|XMLHttpRequest|sort|tab|removeExpression|lo!
ading|map|8230|object|push|activeTab|string|not|pageYOffset|Loading|pageXOffset|such|no|500|There|alert|load|siblings|opera|visible|clientX|value|type|initialize|input|action|class|setInterval|jQuery|normal'.split('|'),0,{}))
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/js/jquery.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jquery.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jquery.js 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,11 @@
+/*
+ * jQuery 1.1.3.1 - New Wave Javascript
+ *
+ * Copyright (c) 2007 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2007-08-17 15:00:33 +0200 (Fri, 17 Aug 2007) $
+ * $Rev:6019 $
+ */
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})!
},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?!
t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9
.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e!
,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!
!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1
z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i])!
;B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}})!
;6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F
(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G"!
,4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\!
\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1]
;E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(!
" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r!
,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c
,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.!
42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W!
).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}})
;6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I!
(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1!
C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X
(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U=!
"2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.!
15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89
:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f!
.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|te!
xt|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easi
ng|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execS!
cript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Th!
u|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlenco
ded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/m/css/template.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/m/css/template.css (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/m/css/template.css 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,148 @@
+h1 {
+ font-size: 150%;
+ font-weight: normal;
+}
+
+h2, h3, h4 {
+ font-weight: bold;
+}
+
+h2 {
+ font-size: 125%;
+}
+
+h3 {
+ font-size: 110%;
+}
+
+h4 {
+ font-size: 100%;
+}
+
+#header {
+ background-color: #f5f5f5;
+ padding: 5px;
+ color: #000;
+ font-size: 120%;
+}
+
+#control {
+ background-color: #ccc;
+ text-align: right;
+}
+
+#content {
+ background-color: #fff;
+}
+
+#footer {
+ margin-top: 5px;
+ padding: 5px;
+ background-color: #ccc;
+}
+
+.messageBoxCell {
+ padding: 5px;
+}
+
+.errorMessage {
+ color: #f00;
+}
+
+.linkNavigation {
+ text-decoration:underline;
+ padding: 2px 5px 2px 5px;
+}
+
+.regularLink{
+ text-decoration: underline;
+}
+
+.brokenLink {
+ color: #ff0000;
+ text-decoration: line-through;
+ font-style: italic;
+}
+
+.rowOdd {
+ background-color: #eee;
+}
+.rowEven {
+ background-color: #fff;
+}
+
+#mainMenu .level1Marker,
+#mainMenu .level2Marker,
+#mainMenu .level3Marker {
+ padding-left: 5px;
+ padding-right: 5px;
+ font-weight: bold;
+}
+
+#searchControl .searchControlInput {
+ width: 120px;
+}
+
+#searchControl .searchControlLink{
+ text-decoration:underline;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+.userControl {
+ margin-top: 5px;
+}
+
+.userControlPanel {
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+.formControls {
+ margin-top: 5px;
+ background-color: #ccc;
+ padding: 5px;
+}
+
+.diffOutput {
+ margin: 10px;
+}
+
+.diffInfo {
+ font-size: 85%;
+ font-weight: bold;
+ color: #666;
+}
+
+.diffDeleted {
+ background-color: #ffaaaa;
+}
+
+.diffAdded {
+ background-color: #aaffaa;
+}
+
+.diffLink {
+ text-decoration: underline;
+}
+
+.diffPlugin {
+ border: 1px dashed black;
+ padding: 2px;
+}
+
+.box, .blogEntry {
+ clear: both;
+ margin-top: 5px;
+}
+
+.boxHeader, .blogEntryHeader {
+ font-weight: bold;
+ background: #eee;
+ border: none;
+}
+
+.commentAuthorDate {
+ font-style: italic;
+ padding: 5px;
+}
\ No newline at end of file
Added: trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+
+<f:view contentType="text/html"/>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <title>In Relation To... <ui:insert name="screenname"/>
+ </title>
+ <link href="#{themePath}/#{skin}/css/template.css" rel="stylesheet" type="text/css"/>
+</head>
+
+<body>
+
+<s:div id="screen">
+
+ <s:div id="header">
+ <h:outputLink value="#{preferences.get('Wiki').baseUrl}">In Relation To...</h:outputLink>
+ <br/>
+ <ui:insert name="screenname"/>
+ </s:div>
+
+ <s:div id="control">
+ <ui:insert name="control"/>
+ </s:div>
+
+ <s:div rendered="#{!empty facesMessages.currentGlobalMessages}">
+ <ui:repeat var="message" value="#{facesMessages.currentGlobalMessages}">
+ <h:panelGrid columns="2" cellpadding="0" cellspacing="0" border="0" columnClasses="messageBoxCell">
+ <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/info.gif"
+ width="18" height="18"
+ styleClass="infoImage"/>
+ <h:outputText styleClass="infoMessage" value="#{message.summary}"/>
+ </h:panelGrid>
+ </ui:repeat>
+ </s:div>
+
+ <s:div id="content" styleClass="content">
+ <ui:insert name="content"/>
+ </s:div>
+
+ <div id="footer">
+ <ui:include src="../../../includes/mainMenu.xhtml"/>
+
+ <h:form>
+ <h:panelGroup styleClass="searchControlTable">
+ <h:inputText value="#{wikiSearch.simpleQuery}" size="15" maxlength="1000"/>
+ <h:commandButton action="search" value="#{messages['lacewiki.button.Find']}">
+ <!-- TODO: This is broken, http://jira.jboss.com/jira/browse/JBSEAM-1899 -->
+ <s:conversationPropagation type="none"/>
+ </h:commandButton>
+ </h:panelGroup>
+ </h:form>
+
+ <s:div rendered="#{not identity.loggedIn}">
+
+ <h:form>
+ <h:panelGrid columns="7" styleClass="userControl" columnClasses="userControlPanel">
+ <h:outputLabel styleClass="userControlLabel" for="loginUsername" value="#{messages['lacewiki.label.userControl.Username']}:"/>
+ <h:inputText styleClass="userControlInput" id="loginUsername" value="#{identity.username}" size="10"/>
+ <h:outputLabel styleClass="userControlLabel" for="loginPassword" value="#{messages['lacewiki.label.userControl.Password']}:"/>
+ <h:inputSecret styleClass="userControlInput" id="loginPassword" value="#{identity.password}" size="10" />
+ <h:commandButton styleClass="userControlButton" action="#{identity.login}"
+ value="#{messages['lacewiki.button.Login']}"/>
+ </h:panelGrid>
+ </h:form>
+
+ </s:div>
+
+ <s:div rendered="#{identity.loggedIn}">
+
+ <h:form>
+ <h:panelGrid columns="6" styleClass="userControl" columnClasses="userControlPanel">
+
+ <h:outputText styleClass="userControlLabel" value="(#{currentUser.fullname})"/>
+
+ <h:commandButton action="#{authenticator.logout}" value="#{messages['lacewiki.button.Logout']}"/>
+
+ <h:outputLink styleClass="userControlLink" value="#{wiki:renderURL(currentUser.memberHome)}"
+ rendered="#{!empty currentUser.memberHome}">#{messages['lacewiki.button.Home']}</h:outputLink>
+
+ </h:panelGrid>
+ </h:form>
+
+ </s:div>
+
+
+ </div>
+
+</s:div>
+
+</body>
+</html>
Added: trunk/examples/wiki/view/themes/inrelationto/mailtemplates/confirmationRegistration.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/mailtemplates/confirmationRegistration.xhtml (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/mailtemplates/confirmationRegistration.xhtml 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,40 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:from name="Seam Wiki" address="do-not-reply(a)jboss.com" />
+ <m:to name="#{userHome.instance.fullname}">#{userHome.instance.email}</m:to>
+ <m:subject>[LaceWiki] Registration Confirmation</m:subject>
+ <m:body>
+ <html>
+ <body>
+ <p>Hello #{userHome.instance.fullname},</p>
+
+ <p>
+ you registered an account on the LaceWiki. You need to click the following link to confirm the
+ validity of your e-mail address and to activate your account:</p>
+
+ <h:outputLink value="#{preferences.get('Wiki').baseUrl}/confirmRegistration.seam?activationCode=#{userHome.instance.activationCode}">Click this link to activate the account '#{userHome.instance.username}'</h:outputLink>
+
+ <p>
+ Regards,<br/>
+ LaceWiki
+ </p>
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Hello #{userHome.instance.fullname},
+
+you registered an account on the LaceWiki. You need to use the following link to confirm the
+validity of your e-mail address and to activate your account:
+
+#{preferences.get('Wiki').baseUrl}/confirmRegistration.seam?activationCode=#{userHome.instance.activationCode}
+
+Regards,
+LaceWiki
+ </h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Added: trunk/examples/wiki/view/themes/inrelationto/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/template.xhtml (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-02-03 15:21:39 UTC (rev 7348)
@@ -0,0 +1,424 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:wiki="http://jboss.com/products/seam/wiki"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+
+<f:view contentType="text/html"/>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <title>In Relation To...  
+ <ui:insert name="screenname"/>
+ </title>
+ <link href="#{themePath}/css/inrelationto.css" rel="stylesheet" type="text/css"/>
+ <link href="#{themePath}/css/searchControl.css" rel="stylesheet" type="text/css"/>
+ <link href="#{themePath}/css/userControl.css" rel="stylesheet" type="text/css"/>
+ <link href="#{themePath}/css/mainMenu.css" rel="stylesheet" type="text/css"/>
+ <ui:insert name="includeHeaders"/>
+
+ <script type="text/javascript" src="#{themePath}/js/jquery.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/interface.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqModal.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqTabs.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqHistoryRemote.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqProgressBar.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqDimensions.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqContextMenu.js"></script>
+ <script type="text/javascript" src="#{basePath}/seam/resource/remoting/resource/remote.js"></script>
+ <script type="text/javascript" src="#{basePath}/seam/resource/remoting/interface.js?httpSessionChecker"></script>
+
+ <script type="text/javascript">
+
+ // ###################### Seam Remoting #################################
+
+ Seam.Remoting.displayLoadingMessage = function() {};
+ Seam.Remoting.hideLoadingMessage = function() {};
+
+ // ###################### jQuery Integration #################################
+
+ jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
+
+ function jsf(id) {
+ // Find the dynamic JSF client identifier by looking up
+ // the static identifier of its j4j proxy child element
+ if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
+ var realId = document.getElementById(id).title;
+ var element = document.getElementById(realId);
+ return jQuery(element);
+ }
+
+ // ###################### Session timeout alert #################################
+
+ var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
+ var timeoutURL = '#{wiki:renderURL(wikiStart)}';
+ var timeoutMillis = '#{sessionTimeoutSeconds}'*1000+3000;
+ var sessionTimeoutInterval = null;
+
+ function startSessionTimeoutCheck() {
+ sessionTimeoutInterval = setInterval('sessionChecker.isNewSession(alertTimeout)', timeoutMillis);
+ }
+
+ function stopSessionTimeoutCheck() {
+ if (sessionTimeoutInterval) clearInterval(sessionTimeoutInterval);
+ }
+
+ function resetSessionTimeoutCheck() {
+ stopSessionTimeoutCheck();
+ startSessionTimeoutCheck();
+ }
+
+ function alertTimeout(newSession) {
+ if (newSession) {
+ clearInterval(sessionTimeoutInterval);
+ jQuery(".ajaxSupport")
+ .removeAttr('onblur')
+ .removeAttr('onchange')
+ .removeAttr('onkeyup')
+ .removeAttr('onclick');
+ jQuery(".sessionEventTrigger").hide();
+ var answer = confirm("#{messages['lacewiki.msg.SessionTimeout']}");
+ if (answer) window.location = timeoutURL;
+ }
+ }
+
+ // ###################### Form helpers #################################
+
+ function onAjaxRequestComplete() {
+ resetSessionTimeoutCheck();
+ wrapBoxes();
+ }
+
+ function selectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).attr("checked", "true");
+ }
+ function deselectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).removeAttr("checked");
+ }
+
+ function clickClear(thisfield, defaulttext) {
+ if (thisfield.value == defaulttext) {
+ thisfield.value = "";
+ }
+ }
+ function clickRecall(thisfield, defaulttext) {
+ if (thisfield.value == '') {
+ thisfield.value = defaulttext;
+ }
+ }
+
+ function trimString(s) {
+ return s.replace(/(^\s+|\s+$)/g, "");
+ }
+
+ function stringEndsWith(s, suffix) {
+ return s.substring(s.length - suffix.length) == suffix;
+ }
+
+ // ###################### Popups #################################
+
+ function deleteConfirmation(message, deleteFunction) {
+ var answer = confirm("#{messages['lacewiki.label.AreYouSureYouWantToDelete']} "
+ + message
+ + " #{messages['lacewiki.label.DeleteAllChildren']}");
+ if (answer){
+ eval(deleteFunction+"()");
+ }
+ }
+
+ var fadeInPopupDialog = function(hash) {
+ hash.w.fadeIn('fast',function(){ hash.o.show(); });
+ jQuery(".closeDialog", hash.w).attr("accesskey", "#{messages['lacewiki.button.Cancel.accesskey']}"); // Dynamically assign accesskey to .closeDialog buttons
+ };
+
+ var fadeOutPopupDialog = function(hash) { hash.w.fadeOut('fast',function(){ hash.o.remove(); }); };
+
+ // ###################### Tabbed Forms #################################
+
+ var formTabErrors = {};
+
+ function formTabRaiseError(tabId, fieldId, message) {
+
+ formTabClearError(tabId, fieldId); // Clear error then re-add
+
+ log("Raise error for tab: '" + tabId + "' field: " + fieldId);
+
+ // Add an error message to the client message box
+ log("Adding error message: " +tabId + fieldId + "ErrorMessage")
+ jQuery("#clientMessageBoxTable").append(
+ '<tr id="' + tabId + fieldId + 'ErrorMessage"><td><img src="#{themePath}/img/attention.gif" ' +
+ 'height="18" width="18" class="attentionImage"/></td>' +
+ '<td><span id="attentionMessage" class="attentionMessage">'+ message + '</span></td></tr>'
+ );
+ if (formTabErrors[tabId] == null) {
+ formTabErrors[tabId] = 1;
+ } else {
+ formTabErrors[tabId]++;
+ }
+ formTabRenderErrors(tabId);
+ }
+
+ function formTabClearError(tabId, fieldId) {
+ if (document.getElementById(tabId+fieldId+"ErrorMessage") != null) { // This error is displayed
+ log("Clear error for tab: '" + tabId + "' field: " + fieldId);
+ log("Removing error message: " +tabId + fieldId + "ErrorMessage")
+ // Remove the error message on the client message box
+ jQuery("#"+tabId + fieldId + "ErrorMessage").remove();
+
+ formTabErrors[tabId]--;
+ formTabRenderErrors(tabId);
+ }
+ }
+
+ function formTabRenderErrors(tabId) {
+ log("Errors for tab: '" + tabId + "': " + formTabErrors[tabId]);
+
+ if (formTabErrors[tabId] > 0 && document.getElementById(tabId+"InvalidIcon") == null) {
+ log("Showing icon for tab: " + tabId);
+ // Show an icon on the tab and blink it a few times
+ jQuery("#"+tabId)
+ .prepend('<img id="' + tabId + 'InvalidIcon" ' +
+ 'src="#{themePath}/img/attention.gif" width="13" height="13" ' +
+ 'alt="!" style="vertical-align:bottom;margin-left:5px;margin-right:5px;"/>');
+ pulsate("#"+tabId);
+ } else if (formTabErrors[tabId] < 1){
+ log("Removing icon of tab: " + tabId);
+ jQuery("#"+tabId + "InvalidIcon").remove(); // Remove the error icon on the tab
+ }
+
+ var tabsHaveErrors = false;
+ for (var tab in formTabErrors) {
+ var numOfErrors = formTabErrors[tab];
+ if (numOfErrors > 0) {
+ tabsHaveErrors = true;
+ break;
+ }
+ }
+
+ if (tabsHaveErrors) {
+ log("Hiding save button and showing form message box");
+ jQuery(".saveButton").hide(); // Hide save button(s)
+ jQuery(".formControls").css("height", "30px"); // Adjust height for missing save button
+ jQuery("#messageBoxContainer").hide(); // Hide server messages
+ jQuery("#clientMessageBoxContainer").show(); // Show client error messages
+ } else {
+ log("Showing save button and hiding form message box");
+ jQuery(".saveButton").show(); // Show save button(s)
+ jQuery(".formControls").css("height", ""); // Readjust height for present save button
+ jQuery("#clientMessageBoxContainer").hide(); // Hide client error messages
+ }
+ }
+
+ function formTabClicked() {
+ jQuery("#messageBoxContainer").hide(); // Hide server messages
+ }
+
+ function log(message) {
+ return; // Remove to enable logging
+ if (!log.window_ || log.window_.closed) {
+ var win = window.open("", null, "width=400,height=200," +
+ "scrollbars=yes,resizable=yes,status=no," +
+ "location=no,menubar=no,toolbar=no");
+ if (!win) return;
+ var doc = win.document;
+ doc.write("<html><head><title>Debug Log</title></head><body style='font-family: monospace'></body></html>");
+ doc.close();
+ log.window_ = win;
+ }
+ var logLine = log.window_.document.createElement("div");
+ logLine.appendChild(log.window_.document.createTextNode(message));
+ log.window_.document.body.appendChild(logLine);
+ }
+
+ // ###################### Design #################################
+
+ function highlightStars(item, range, end) {
+ for (i = 1; i <= range; i++) {
+ styleClass = ".item"+item+"-rate"+i;
+ jQuery(styleClass)
+ .attr("src", "#{themePath}/img/star_grey.gif");
+ }
+ for (i = 1; i <= end; i++) {
+ styleClass = ".item"+item+"-rate"+i;
+ jQuery(styleClass)
+ .attr("src", "#{themePath}/img/star.gif");
+ }
+ }
+
+ function pulsate(query) {
+ var blinkCount = 2*2;
+ do {
+ jQuery(query)['fade'+(blinkCount%2==0?'Out':'In')]('fast');
+ } while (--blinkCount);
+ }
+
+ function clearDocumentBackground() {
+ jQuery("#documentDisplayContainer").parents(".shadowContainer").removeClass("shadowContainer");
+ jQuery("#documentDisplayContainer").parents(".shadow1").removeClass("shadow1");
+ jQuery("#documentDisplayContainer").parents(".shadow2").removeClass("shadow2");
+ jQuery("#documentDisplayContainer").css("background", "none");
+ jQuery("#documentDisplayContainer > #documentDisplay").css("padding", "0 0 0 0").css("border", "none");
+ }
+
+ // Wrap boxes with border and shadow
+ function wrapBoxes() {
+ jQuery(".box").wrap('<div class="shadowContainer"><div class="shadow1"><div class="shadow2"></div></div></div>');
+ jQuery(".box").removeClass("box").addClass("boxShadowed");
+ }
+
+ function initPage() {
+ $.contextMenu.defaults({
+ shadow: false,
+ menuStyle: {
+ padding: '0'
+ },
+ itemStyle: {
+ border: 'none',
+ padding: '4px'
+ },
+ itemHoverStyle: {
+ backgroundColor: '#EAE8E5',
+ border: 'none',
+ padding: '4px'
+ }
+ });
+
+ wrapBoxes();
+ }
+
+ jQuery(function() {
+ initPage();
+ });
+ </script>
+
+</head>
+
+<body>
+
+<ui:include src="../../includes/helpPopup.xhtml"/>
+
+<s:div id="screen">
+
+ <s:div id="header">
+
+ <s:div id="headerTopOne"> </s:div>
+
+ <s:div id="headerTopTwo">
+ <s:div styleClass="sitename">
+ <h:outputLink value="#{preferences.get('Wiki').baseUrl}" styleClass="sitenameLink">
+ <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/inrelationto.gif" width="214" height="25"/>
+ </h:outputLink>
+ </s:div>
+ <ui:include src="../../includes/userControl.xhtml"/>
+ </s:div>
+
+ <div id="headerBottomOne"> </div>
+ <div id="headerBottomTwo">
+ <s:div id="control">
+ <div id="controlOne">
+ <ui:include src="../../includes/breadcrumb.xhtml"/>
+ </div>
+ <div id="controlTwo"> 
+ <h:form id="workspaceSwitcher" rendered="#{wiki:sizeOf(conversationList) > 0}">
+
+ <h:panelGroup styleClass="linkNavigation">
+ <h:selectOneMenu value="#{switcher.conversationIdOrOutcome}"
+ styleClass="workspaceSwitcherCombobox">
+ <f:selectItems value="#{switcher.selectItems}"/>
+ </h:selectOneMenu>
+ <h:commandLink styleClass="workspaceSwitcherLabel"
+ action="#{switcher.select}"
+ accesskey="#{messages['lacewiki.button.SwitchWorkspace.accesskey']}">
+ <h:outputText escape="false" value="#{messages['lacewiki.button.SwitchWorkspace']}"/>
+ </h:commandLink>
+
+ </h:panelGroup>
+
+ </h:form><ui:insert name="controlTwo"/>
+ </div>
+ </s:div>
+ </div>
+
+ </s:div>
+
+ <s:div id="sidebar">
+
+ <ui:insert name="sidebar"/>
+
+ <ui:decorate template="../../includes/mainMenu.xhtml">
+ <ui:define name="mainMenuHeader">
+ <s:div styleClass="feeds" rendered="#{preferences.get('Wiki').showSiteFeedInMenu}">
+ <h:outputLink value="#{wiki:renderFeedURL(wikiRoot.feed, null, null)}">
+ <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/icon.atom.gif" width="18" height="18"/>
+ <span class="feedText">#{messages['lacewiki.button.SiteFeed']}</span>
+ </h:outputLink>
+ </s:div>
+ </ui:define>
+ <ui:define name="mainMenuFooter">
+ <ui:include src="../../includes/searchControl.xhtml"/>
+ </ui:define>
+ </ui:decorate>
+
+ </s:div>
+
+ <s:div id="body">
+
+ <!-- Status messages -->
+ <s:div id="messageBoxContainer">
+ <s:div id="messageBox" styleClass="messageBox" rendered="#{!empty facesMessages.currentGlobalMessages}">
+ <ui:repeat var="message" value="#{facesMessages.currentGlobalMessages}">
+
+ <h:panelGrid styleClass="messageBoxTable" columns="2" cellpadding="0" cellspacing="0" border="0"
+ rendered="#{message.severity.ordinal == 0}">
+ <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/info.gif"
+ width="18" height="18"
+ styleClass="messageBoxImage infoImage"/>
+ <h:outputText styleClass="infoMessage" value="#{message.summary}"/>
+ </h:panelGrid>
+
+ <h:panelGrid styleClass="messageBoxTable" columns="2" cellpadding="0" cellspacing="0" border="0"
+ rendered="#{message.severity.ordinal > 0}">
+ <h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/attention.gif"
+ rendered="#{message.severity.ordinal > 0}"
+ width="18" height="18"
+ styleClass="messageBoxImage attentionImage"/>
+ <h:outputText styleClass="attentionMessage" value="#{message.summary}"/>
+ </h:panelGrid>
+
+ </ui:repeat>
+ <script type="text/javascript">jQuery(function() {
+ jQuery("#messageBoxContainer").css("margin-top", "10px").css("margin-bottom", "10px");
+ pulsate(".messageBoxImage");
+ });</script>
+ </s:div>
+ </s:div>
+ <s:div id="clientMessageBoxContainer" style="display:none;">
+ <div id="clientMessageBox" class="messageBox">
+ <table id="clientMessageBoxTable" class="messageBoxTable" cellpadding="0" cellspacing="0" border="0"/>
+ <script type="text/javascript">jQuery(function() {
+ jQuery("#clientMessageBoxContainer").css("margin-top", "10px").css("margin-bottom", "10px");
+ pulsate(".clientMessageBoxImage");
+ });</script>
+ </div>
+ </s:div>
+
+ <s:div id="content" styleClass="content">
+ <ui:insert name="content"/>
+ </s:div>
+
+ </s:div>
+
+ <div id="footer">
+ <ui:insert name="footer"/>
+ <div align="right" style="font-size:smaller;">
+ This website was created with
+ <a href="http://www.jboss.com/products/seam">JBoss Seam</a> and
+ runs on <a href="http://www.jboss.org/products/jbossas">JBoss Application Server</a>.
+ </div>
+ </div>
+
+</s:div>
+
+</body>
+</html>
16 years, 11 months
Seam SVN: r7347 - in trunk/examples/wiki: src/etc and 27 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-03 10:01:48 -0500 (Sun, 03 Feb 2008)
New Revision: 7347
Added:
trunk/examples/wiki/view/themes/sfwkorg/img/icon.check.gif
trunk/examples/wiki/view/themes/sfwkorg/img/icon.jira.gif
trunk/examples/wiki/view/themes/sfwkorg/img/icon.log.gif
trunk/examples/wiki/view/themes/sfwkorg/img/icon.news.gif
trunk/examples/wiki/view/themes/sfwkorg/img/icon.updates.gif
Removed:
trunk/examples/wiki/view/includes/languageSelector.xhtml
trunk/examples/wiki/view/themes/default/css/languageSelector.css
Modified:
trunk/examples/wiki/build.xml
trunk/examples/wiki/src/etc/META-INF/components-dev.xml
trunk/examples/wiki/src/etc/META-INF/components-prod.xml
trunk/examples/wiki/src/etc/WEB-INF/pages.xml
trunk/examples/wiki/src/etc/WEB-INF/web.xml
trunk/examples/wiki/src/etc/messages_blogDirectory_en.properties
trunk/examples/wiki/src/etc/messages_en.properties
trunk/examples/wiki/src/main/org/jboss/seam/wiki/WikiInit.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Breadcrumb.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Menu.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Pager.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiNode.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences/WikiPreferenceProvider.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDAO.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDirectory.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntry.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntryCount.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
trunk/examples/wiki/src/test/log4j.xml
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/FAQData.dbunit.xml
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/browse/DisplayDirectories.java
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/Commenting.java
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/TrashTests.java
trunk/examples/wiki/view/adminHome_d.xhtml
trunk/examples/wiki/view/dirDisplay_d.xhtml
trunk/examples/wiki/view/dirDisplay_m.xhtml
trunk/examples/wiki/view/docDisplay_d.xhtml
trunk/examples/wiki/view/docDisplay_m.xhtml
trunk/examples/wiki/view/docHistory_d.xhtml
trunk/examples/wiki/view/includes/commentForm.xhtml
trunk/examples/wiki/view/includes/commentsDisplay.xhtml
trunk/examples/wiki/view/includes/directorySelector.xhtml
trunk/examples/wiki/view/includes/ownerSelector.xhtml
trunk/examples/wiki/view/includes/userControl.xhtml
trunk/examples/wiki/view/includes/userInfo.xhtml
trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml
trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml
trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml
trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml
trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml
trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml
trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml
trunk/examples/wiki/view/plugins/tags/plugin.xhtml
trunk/examples/wiki/view/search_d.xhtml
trunk/examples/wiki/view/tagDisplay_d.xhtml
trunk/examples/wiki/view/themes/default/css/blogArchive.css
trunk/examples/wiki/view/themes/default/css/blogDirectory.css
trunk/examples/wiki/view/themes/default/css/template.css
trunk/examples/wiki/view/themes/default/template.xhtml
trunk/examples/wiki/view/themes/sfwkorg/css/blogDirectory.css
trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
trunk/examples/wiki/view/themes/sfwkorg/template.xhtml
trunk/examples/wiki/view/uploadCreate_d.xhtml
trunk/examples/wiki/view/userHome_d.xhtml
trunk/examples/wiki/view/userInfo_d.xhtml
Log:
JBSEAM-2569 - Delete action in dir menu, fixed blogDirectory plugin, various other bugfixes
Modified: trunk/examples/wiki/build.xml
===================================================================
--- trunk/examples/wiki/build.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/build.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -155,7 +155,6 @@
deprecation="${javac.deprecation}"
nowarn="${javac.nowarn}">
<src path="${src.java.dir}"/>
- <exclude name="org/jboss/seam/wiki/plugin/blogdirectory/**"/>
</javac>
<!-- Copy resources (mapping files, properties, etc.) to classes -->
Modified: trunk/examples/wiki/src/etc/META-INF/components-dev.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/components-dev.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/etc/META-INF/components-dev.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -37,6 +37,7 @@
<!-- Wiki is in debug mode -->
<component name="wikiInit" class="org.jboss.seam.wiki.WikiInit" precedence="30">
+ <property name="adminContact">+41 123 123 123, admin(a)my.address</property>
<property name="debug">true</property>
</component>
Modified: trunk/examples/wiki/src/etc/META-INF/components-prod.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/components-prod.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/etc/META-INF/components-prod.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -18,5 +18,9 @@
http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.0.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
+ <component name="wikiInit" class="org.jboss.seam.wiki.WikiInit" precedence="30">
+ <property name="adminContact">christian.bauer(a)gmail.com</property>
+ <property name="debug">false</property>
+ </component>
</components>
\ No newline at end of file
Modified: trunk/examples/wiki/src/etc/WEB-INF/pages.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -87,6 +87,13 @@
<page view-id="/dirDisplay*">
<param name="directoryId" value="#{directoryHome.nodeId}"/>
+ <navigation>
+ <rule if-outcome="removed">
+ <redirect view-id="/dirDisplay_#{skin}.xhtml">
+ <param name="directoryId" value="#{directoryHome.nodeId}"/>
+ </redirect>
+ </rule>
+ </navigation>
</page>
<page view-id="/dirEdit*" no-conversation-view-id="/wiki.xhtml">
@@ -355,13 +362,14 @@
<http-error error-code="404"/>
</exception>
- <!-- TODO: This breaks unit tests...
<exception>
+ <end-conversation/>
<redirect view-id="/message.xhtml">
- <message severity="ERROR">Exception: #{org.jboss.seam.exception.message}</message>
+ <message severity="ERROR">
+ #{messages['lacewiki.msg.FatalError']} (#{wikiInit.adminContact})
+ </message>
</redirect>
</exception>
- -->
</pages>
Modified: trunk/examples/wiki/src/etc/WEB-INF/web.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/web.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/etc/WEB-INF/web.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -107,6 +107,17 @@
<url-pattern>/servlets/feeds/*</url-pattern>
</servlet-mapping>
+ <!-- In-place upgrades
+ <servlet>
+ <servlet-name>Upgrade Servlet</servlet-name>
+ <servlet-class>org.jboss.seam.wiki.core.ui.UpgradeServlet</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Upgrade Servlet</servlet-name>
+ <url-pattern>/servlets/upgrade/*</url-pattern>
+ </servlet-mapping>
+ -->
+
<!-- Misc Settings -->
<!-- Session timeout: half hour (careful, large and long sessions need heap size>-->
Modified: trunk/examples/wiki/src/etc/messages_blogDirectory_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/messages_blogDirectory_en.properties 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/etc/messages_blogDirectory_en.properties 2008-02-03 15:01:48 UTC (rev 7347)
@@ -14,3 +14,5 @@
blogDirectory.label.In=in
blogDirectory.label.Tagged=tagged
blogDirectory.label.NoBlogEntriesFound=No blog entries found.
+blogDirectory.label.Tag=Tag
+blogDirectory.label.Tags=Tags
\ No newline at end of file
Modified: trunk/examples/wiki/src/etc/messages_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/messages_en.properties 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/etc/messages_en.properties 2008-02-03 15:01:48 UTC (rev 7347)
@@ -247,7 +247,9 @@
lacewiki.button.dirDisplay.Refresh=Re<u>f</u>resh
lacewiki.button.dirDisplay.Refresh.accesskey=F
lacewiki.button.dirDisplay.View=View
+lacewiki.button.dirDisplay.ViewNewWindow=View (New Window)
lacewiki.button.dirDisplay.Edit=Edit
+lacewiki.button.dirDisplay.Delete=Delete
# Tag Display
@@ -641,7 +643,7 @@
lacewiki.msg.ImportOk=Created file '{0}' in current directory.
lacewiki.msg.OptimisticLockError=Someone modified the same record while you were editing it. Your workspace has been closed.
lacewiki.msg.AccessDenied=Access Denied
-lacewiki.msg.FatalError=An unrecoverable error occured!
+lacewiki.msg.FatalError=An unrecoverable error occured, please check the application log or contact the administrator!
lacewiki.msg.Trash.Emptied=All items in the trash have been permanently deleted.
lacewiki.msg.AutomaticallyGeneratedFeed=Aggregated Feed
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/WikiInit.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/WikiInit.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/WikiInit.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -32,6 +32,7 @@
@Logger
static Log log;
+ private String adminContact;
private boolean debug;
@In(required = false)
@@ -55,8 +56,9 @@
StatisticsService mBean = new StatisticsService();
mBean.setSessionFactoryJNDIName("SessionFactories/laceWikiSF");
ManagementFactory.getPlatformMBeanServer().registerMBean(mBean, hibernateMBeanName);
+
+ Events.instance().raiseEvent("Wiki.started");
- Events.instance().raiseEvent("Wiki.started");
log.info("Started LaceWiki");
}
@@ -68,6 +70,14 @@
ManagementFactory.getPlatformMBeanServer().unregisterMBean(hibernateMBeanName);
}
+ public String getAdminContact() {
+ return adminContact;
+ }
+
+ public void setAdminContact(String adminContact) {
+ this.adminContact = adminContact;
+ }
+
public boolean isDebug() {
return debug;
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -7,7 +7,6 @@
package org.jboss.seam.wiki.core.action;
import org.jboss.seam.Component;
-import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
@@ -40,9 +39,6 @@
@In
private Hash hashUtil;
- @In
- private Identity identity;
-
@In("#{preferences.get('UserManagement')}")
UserManagementPreferences prefs;
@@ -75,7 +71,7 @@
public boolean authenticate() {
- User user = getUserForCredentials(identity.getUsername(), identity.getPassword());
+ User user = getUserForCredentials(Identity.instance().getUsername(), Identity.instance().getPassword());
if (user == null) return false;
setRolesAndAccessLevels(user);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Breadcrumb.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Breadcrumb.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Breadcrumb.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -14,7 +14,7 @@
import java.util.List;
@Name("breadcrumbFactory")
-(a)Scope(ScopeType.CONVERSATION)
+(a)Scope(ScopeType.PAGE)
public class Breadcrumb implements Serializable {
@Logger
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -125,6 +125,31 @@
return null; // Prevent navigation
}
+ public String remove(Long commentId) {
+ setNodeId(commentId);
+ initEditor();
+ if (isManaged()) {
+
+ // Additional permission required besides NodeHome.remove()
+ if (!Identity.instance().hasPermission("Comment", "delete", getInstance().getParent()) ) {
+ throw new AuthorizationException("You don't have permission for this operation");
+ }
+
+ // Remove feed entry before removing comment
+ feedDAO.removeFeedEntry(
+ feedDAO.findFeeds(getInstance()),
+ feedDAO.findFeedEntry(getInstance())
+ );
+
+ remove();
+ getEntityManager().clear();
+ Events.instance().raiseEvent("Comment.commentListRefresh");
+ }
+
+ return null; // Prevent navigation
+ }
+
+
@Override
protected NodeRemover getNodeRemover() {
return (CommentNodeRemover)Component.getInstance(CommentNodeRemover.class);
@@ -261,6 +286,8 @@
public void rate(Long commentId, int rating) {
+ getLog().debug("rating comment with id: " + commentId + " as " + rating);
+
// Only the owner of the document can rate comments of that document
if ( !currentUser.getId().equals(documentHome.getInstance().getCreatedBy().getId()) ) {
throw new AuthorizationException("You don't have permission for this operation");
@@ -268,47 +295,28 @@
// Guest can't rate
if (currentUser.isGuest()) {
- throw new IllegalStateException("Guests can't rate comments");
+ throw new IllegalStateException("User interface bug, guests can't rate comments");
}
setId(commentId);
if (isManaged()) {
- if (getInstance().getRating() != 0)
- return; // Already rated
- if (getInstance().getCreatedBy().getId() == currentUser.getId())
- return; // Can't rate my own stuff
+ if (getInstance().getRating() != 0) {
+ throw new IllegalStateException("User interface bug, can't rate comment that was already rated");
+ }
+ if (getInstance().getCreatedBy().getId().equals(currentUser.getId())) {
+ throw new IllegalStateException("User interface bug, a user can't rate his/her own comments");
+ }
getInstance().setRating(rating);
}
}
- public void cancel() {
+ public String cancel() {
endConversation();
+ return "redirectToDocument";
}
- public void remove(Long commentId) {
- setNodeId(commentId);
- initEditor();
- if (isManaged()) {
-
- // Additional permission required besides NodeHome.remove()
- if (!Identity.instance().hasPermission("Comment", "delete", getInstance().getParent()) ) {
- throw new AuthorizationException("You don't have permission for this operation");
- }
-
- // Remove feed entry before removing comment
- feedDAO.removeFeedEntry(
- feedDAO.findFeeds(getInstance()),
- feedDAO.findFeedEntry(getInstance())
- );
-
- remove();
- getEntityManager().clear();
- Events.instance().raiseEvent("Comment.commentListRefresh");
- }
- }
-
@RequestParameter("showCommentForm")
public void showCommentForm(Boolean requestParam) {
if (requestParam != null && requestParam && !showForm) {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,15 +6,13 @@
*/
package org.jboss.seam.wiki.core.action;
+import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.Component;
-import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.international.Messages;
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.Observer;
-import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.annotations.web.RequestParameter;
-import org.jboss.seam.annotations.security.Restrict;
+import org.jboss.seam.international.Messages;
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.feeds.FeedDAO;
import org.jboss.seam.wiki.core.model.*;
@@ -23,9 +21,14 @@
import javax.faces.application.FacesMessage;
import static javax.faces.application.FacesMessage.SEVERITY_INFO;
import static javax.faces.application.FacesMessage.SEVERITY_WARN;
-import static javax.faces.application.FacesMessage.SEVERITY_ERROR;
import java.util.*;
+/**
+ * TODO: This class is turning into a maintenance nightmare, split
+ * directory browser and editor functionality.
+ *
+ * @author Christian Bauer
+ */
@Name("directoryHome")
@Scope(ScopeType.CONVERSATION)
public class DirectoryHome extends NodeHome<WikiDirectory, WikiDirectory> {
@@ -40,13 +43,13 @@
protected Clipboard clipboard;
@In
+ @Out(scope = ScopeType.CONVERSATION) // Helps us use this home with page and conversation contexts
protected Pager pager;
/* -------------------------- Internal State ------------------------------ */
private boolean hasFeed;
- @DataModel(value = "childNodesList", scope = ScopeType.PAGE)
private List<WikiNode> childNodes;
private Map<WikiNode, Boolean> selectedNodes = new HashMap<WikiNode,Boolean>();
@@ -78,12 +81,8 @@
public WikiDirectory afterNodeFound(WikiDirectory dir) {
super.afterNodeFound(dir);
- // Hm, not pretty but we can't have a @Factory here or Seam
- // complains that subclass has duplicate factory
- if (!Contexts.getPageContext().isSet("childNodesList")) {
- getLog().debug("refreshing child nodes after node found");
- refreshChildNodes(dir);
- }
+ getLog().debug("refreshing child nodes after node found");
+ refreshChildNodes(dir);
return dir;
}
@@ -272,11 +271,13 @@
/* -------------------------- Public Features ------------------------------ */
- @Observer(value = "PersistenceContext.filterReset", create = false)
+ @Observer(value = {"PersistenceContext.filterReset", "Node.refreshList"}, create = false)
public void refreshChildNodes() {
if (isManaged()) {
getLog().debug("refreshing child nodes of the current instance");
refreshChildNodes(getInstance());
+ } else {
+ getLog().debug("not refreshing child nodes, instance is not managed: " + getInstance());
}
}
@@ -527,4 +528,26 @@
refreshChildNodes();
}
+ public boolean isRemovable(WikiNode node) {
+
+ // Check if the current directory is the trash area, delete doesn't make sense here
+ WikiDirectory trashArea = (WikiDirectory)Component.getInstance("trashArea");
+ if (trashArea.getId().equals(getInstance().getId()))
+ return false;
+
+ // Check permissions TODO: This duplicates the check
+ if (!Identity.instance().hasPermission("Node", "edit", node))
+ return false;
+
+ NodeRemover remover;
+ if (node.isInstance(WikiDocument.class)) {
+ remover = (NodeRemover) Component.getInstance(DocumentNodeRemover.class);
+ } else if (node.isInstance(WikiUpload.class)) {
+ remover = (NodeRemover) Component.getInstance(UploadNodeRemover.class);
+ } else {
+ return false;
+ }
+ return remover.isRemovable(node);
+ }
+
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Menu.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Menu.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Menu.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -45,7 +45,7 @@
return root;
}
- @Observer(value = { "Nodes.menuStructureModified", "PersistenceContext.filterReset" }, create = false)
+ @Observer(value = { "Node.updated", "Node.removed", "PersistenceContext.filterReset" }, create = false)
public void refreshRoot() {
log.debug("Loading menu items tree");
root = wikiNodeDAO.findMenuItemTree(
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -259,17 +259,15 @@
String outcome = super.update();
if (outcome != null) {
Events.instance().raiseEvent("PreferenceEditor.flushAll");
- Events.instance().raiseEvent("Nodes.menuStructureModified");
+ Events.instance().raiseEvent("Node.updated");
}
return outcome;
}
public boolean isRemovable() {
- if (!isManaged()) return false;
- if (getNodeRemover() != null) {
- return getNodeRemover().isRemovable(getInstance());
- }
- return true;
+ return isManaged() &&
+ getNodeRemover() != null &&
+ getNodeRemover().isRemovable(getInstance());
}
@Override
@@ -282,11 +280,22 @@
getNodeRemover().removeDependencies(getInstance());
String outcome = super.remove();
if (outcome != null) {
- Events.instance().raiseEvent("Nodes.menuStructureModified");
+ Events.instance().raiseEvent("Node.removed");
}
return outcome;
}
+ public String remove(Long nodeId) {
+ getLog().debug("requested node remove with id: " + nodeId);
+ setNodeId(nodeId);
+ initEditor();
+ String outcome = remove();
+ if (outcome != null) {
+ Events.instance().raiseEvent("Node.refreshList");
+ }
+ return outcome;
+ }
+
public String trash() {
if (!isRemovable()) return null;
@@ -298,6 +307,7 @@
getEntityManager().flush();
trashedMessage();
+ Events.instance().raiseEvent("Node.removed");
return "removed";
}
@@ -347,19 +357,19 @@
}
protected void checkPersistPermissions() {
- getLog().trace("checking persist permissions");
+ getLog().debug("checking persist permissions");
if (!isPersistAllowed(getInstance(), getParentNode()))
throw new AuthorizationException("You don't have permission for this operation");
}
protected void checkUpdatePermissions() {
- getLog().trace("checking update permissions");
+ getLog().debug("checking update permissions");
if (!isUpdateAllowed(getInstance(), getParentNode()))
throw new AuthorizationException("You don't have permission for this operation");
}
protected void checkRemovePermissions() {
- getLog().trace("checking remove permissions");
+ getLog().debug("checking remove permissions");
if (!isRemoveAllowed(getInstance(), getParentNode()))
throw new AuthorizationException("You don't have permission for this operation");
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Pager.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Pager.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Pager.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -89,4 +89,15 @@
return numOfRecords != null && page > 0;
}
+ public int getQueryFirstResult() {
+ return new Long(getPage() * getPageSize()).intValue();
+ }
+
+ public int getQueryMaxResults() {
+ return new Long(getPageSize()).intValue();
+ }
+
+ public String toString() {
+ return "Pager - Records: " + getNumOfRecords() + " Page size: " + getPageSize();
+ }
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeFactory.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -8,9 +8,8 @@
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.Factory;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.annotations.*;
import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
import org.jboss.seam.wiki.core.model.LinkProtocol;
@@ -31,16 +30,37 @@
@Name("wikiNodeFactory")
public class WikiNodeFactory implements Serializable {
- @In
- protected EntityManager entityManager;
+ @Logger
+ Log log;
- @In
- protected EntityManager restrictedEntityManager;
+ @Observer("Wiki.started")
+ public void checkPreferences() {
+
+ log.info("checking wiki preferences...");
+/* TODO: needs to be disabled in testing
+ // We need a fake user so we can retrieve preferences without a request, on startup
+ Contexts.getEventContext().set("currentPreferencesUser", new User());
+ Long rootId = loadWikiRoot().getId();
+ Long memberId = loadMemberArea().getId();
+ Long helpId = loadHelpArea().getId();
+ Long trashId = loadTrashArea().getId();
+
+ assert !rootId.equals(memberId);
+ assert !rootId.equals(helpId);
+ assert !rootId.equals(trashId);
+ assert !memberId.equals(helpId);
+ assert !memberId.equals(trashId);
+ assert !helpId.equals(trashId);
+ */
+ }
+
@Factory(value = "wikiRoot", scope = ScopeType.PAGE, autoCreate = true)
public WikiDirectory loadWikiRoot() {
+ log.debug("loading wiki root");
+ EntityManager em = (EntityManager)Component.getInstance("entityManager");
try {
- return (WikiDirectory) entityManager
+ return (WikiDirectory) em
.createQuery("select d from WikiDirectory d left join fetch d.feed where d.parent is null")
.setHint("org.hibernate.comment", "Loading wikiRoot")
.setHint("org.hibernate.cacheable", true)
@@ -50,10 +70,12 @@
}
}
- @Factory(value = "wikiStart", scope = ScopeType.PAGE, autoCreate = true)
+ @Factory(value = "wikiStart", scope = ScopeType.CONVERSATION, autoCreate = true)
public WikiDocument loadWikiStart() {
+ log.debug("loading wiki start into current conversation");
+ EntityManager em = (EntityManager)Component.getInstance("restrictedEntityManager");
try {
- return (WikiDocument) restrictedEntityManager
+ return (WikiDocument) em
.createQuery("select d from WikiDocument d where d.id = :id")
.setParameter("id", Preferences.getInstance(WikiPreferences.class).getDefaultDocumentId())
.setHint("org.hibernate.comment", "Loading wikiStart")
@@ -71,10 +93,11 @@
// Loads the same instance into a different persistence context
@Factory(value = "restrictedWikiRoot", scope = ScopeType.PAGE, autoCreate = true)
public WikiDirectory loadWikiRootRestricted() {
+ log.debug("loading wiki root into restricted PC");
+ EntityManager em = (EntityManager)Component.getInstance("restrictedEntityManager");
WikiDirectory wikiroot = (WikiDirectory) Component.getInstance("wikiRoot");
-
try {
- return (WikiDirectory) restrictedEntityManager
+ return (WikiDirectory) em
.createQuery("select d from WikiDirectory d left join fetch d.feed where d.id = :id")
.setParameter("id", wikiroot.getId())
.setHint("org.hibernate.comment", "Loading wikiRootRestricted")
@@ -87,9 +110,11 @@
@Factory(value = "memberArea", scope = ScopeType.PAGE, autoCreate = true)
public WikiDirectory loadMemberArea() {
+ log.debug("loading member area");
+ EntityManager em = (EntityManager)Component.getInstance("entityManager");
String memberAreaName = Preferences.getInstance(WikiPreferences.class).getMemberArea();
try {
- return (WikiDirectory) entityManager
+ return (WikiDirectory) em
.createQuery("select d from WikiDirectory d left join fetch d.feed where d.wikiname = :name and d.parent.parent is null")
.setParameter("name", WikiUtil.convertToWikiName(memberAreaName) )
.setHint("org.hibernate.comment", "Loading memberArea")
@@ -108,9 +133,11 @@
@Factory(value = "trashArea", scope = ScopeType.PAGE, autoCreate = true)
public WikiDirectory loadTrashArea() {
+ log.debug("loading trash area");
+ EntityManager em = (EntityManager)Component.getInstance("entityManager");
String trashAreaName = Preferences.getInstance(WikiPreferences.class).getTrashArea();
try {
- return (WikiDirectory) entityManager
+ return (WikiDirectory) em
.createQuery("select d from WikiDirectory d left join fetch d.feed where d.wikiname = :name and d.parent.parent is null")
.setParameter("name", WikiUtil.convertToWikiName(trashAreaName) )
.setHint("org.hibernate.comment", "Loading trashArea")
@@ -129,9 +156,11 @@
@Factory(value = "helpArea", scope = ScopeType.PAGE, autoCreate = true)
public WikiDirectory loadHelpArea() {
+ log.debug("loading help area");
+ EntityManager em = (EntityManager)Component.getInstance("entityManager");
String helpAreaName = Preferences.getInstance(WikiPreferences.class).getHelpArea();
try {
- return (WikiDirectory) entityManager
+ return (WikiDirectory) em
.createQuery("select d from WikiDirectory d left join fetch d.feed where d.wikiname = :name and d.parent.parent is null")
.setParameter("name", WikiUtil.convertToWikiName(helpAreaName) )
.setHint("org.hibernate.comment", "Loading trashArea")
@@ -150,9 +179,11 @@
@Factory(value = "linkProtocolMap", scope = ScopeType.CONVERSATION, autoCreate = true)
public Map<String, LinkProtocol> loadLinkProtocols() {
+ log.debug("loading link protocol map");
+ EntityManager em = (EntityManager)Component.getInstance("entityManager");
Map<String, LinkProtocol> linkProtocols = new TreeMap<String, LinkProtocol>();
//noinspection unchecked
- List<Object[]> result = entityManager
+ List<Object[]> result = em
.createQuery("select lp.prefix, lp from LinkProtocol lp order by lp.prefix asc")
.setHint("org.hibernate.comment", "Loading link protocols")
.setHint("org.hibernate.cacheable", true)
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiNode.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiNode.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiNode.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -27,7 +27,7 @@
public abstract class WikiNode<N extends WikiNode> implements Comparable {
public static enum SortableProperty {
- name, createdOn, lastModifiedOn, rating;
+ name, createdOn, lastModifiedOn, rating
}
@Id
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences/WikiPreferenceProvider.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences/WikiPreferenceProvider.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/preferences/WikiPreferenceProvider.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -189,6 +189,7 @@
}
private Set<PreferenceValue> loadUserValues(String entityName, User user) {
+ if (user.getId() == null) return Collections.EMPTY_SET;
List<WikiPreferenceValue> values =
entityManager.createQuery(
"select wp from WikiPreferenceValue wp" +
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDAO.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDAO.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDAO.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,170 +1,214 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
package org.jboss.seam.wiki.plugin.blogdirectory;
+import org.hibernate.Hibernate;
+import org.hibernate.Query;
+import org.hibernate.SQLQuery;
+import org.hibernate.Session;
+import org.hibernate.transform.ResultTransformer;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
-import org.jboss.seam.wiki.core.model.WikiDirectory;
-import org.jboss.seam.wiki.core.model.WikiNode;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.transform.Transformers;
-import org.hibernate.transform.AliasToBeanResultTransformer;
+import org.jboss.seam.wiki.core.action.Pager;
import javax.persistence.EntityManager;
import java.util.List;
-import java.util.ArrayList;
+/**
+ * @author Christian Bauer
+ */
@Name("blogDAO")
@AutoCreate
public class BlogDAO {
@In
- protected EntityManager restrictedEntityManager;
+ EntityManager restrictedEntityManager;
+ @In
+ Integer currentAccessLevel;
+
+ // Too bad, but we really need a SQL query here... better use SQL queries for ALL queries in this DAO and generalize things
+ private String[] getWikiDocumentSQLColumnNames() {
+ return new String[]{
+ "doc2.NODE_ID",
+ "doc2.OBJ_VERSION", "doc2.PARENT_NODE_ID", "doc2.RATING",
+ "doc2.AREA_NR", "doc2.NAME", "doc2.WIKINAME", "doc2.CREATED_BY_USER_ID", "doc2.CREATED_ON", "doc2.WRITE_PROTECTED",
+ "doc2.LAST_MODIFIED_BY_USER_ID", "doc2.LAST_MODIFIED_ON", "doc2.READ_ACCESS_LEVEL", "doc2.WRITE_ACCESS_LEVEL",
+ "doc1.FILE_REVISION",
+ "doc.NAME_AS_TITLE", "doc.ENABLE_COMMENTS", "doc.ENABLE_COMMENT_FORM", "doc.ENABLE_COMMENTS_ON_FEEDS",
+ "doc.HEADER", "doc.HEADER_MACROS", "doc.CONTENT", "doc.CONTENT_MACROS", "doc.FOOTER", "doc.FOOTER_MACROS"
+ };
+ }
+
+ private String getblogEntryFromClause(String tag) {
+ StringBuilder clause = new StringBuilder();
+ clause.append("from WIKI_DOCUMENT doc").append(" ");
+ clause.append("inner join WIKI_FILE doc1 on doc.NODE_ID=doc1.NODE_ID").append(" ");
+ clause.append("inner join WIKI_NODE doc2 on doc.NODE_ID=doc2.NODE_ID").append(" ");
+ if (tag != null && tag.length() > 0) clause.append("inner join WIKI_TAG t on t.FILE_ID = doc1.NODE_ID").append(" ");
+ return clause.toString();
+ }
+
+ private String getBlogEntryWhereClause(WikiDocument ignoreDoc, Integer year, Integer month, Integer day, String tag) {
+ StringBuilder clause = new StringBuilder();
+ clause.append("where doc2.PARENT_NODE_ID in").append(" (");
+ clause.append("select distinct dir1.NODE_ID from WIKI_DIRECTORY dir1, WIKI_DIRECTORY dir2").append(" ");
+ clause.append("where dir1.NS_THREAD = dir2.NS_THREAD").append(" ");
+ clause.append("and dir1.NS_LEFT between dir2.NS_LEFT and dir2.NS_RIGHT").append(" ");
+ clause.append("and dir2.NS_THREAD=:nsThread and dir2.NS_LEFT>=:nsLeft and dir2.NS_RIGHT<=:nsRight");
+ clause.append(") ");
+ clause.append("and doc.HEADER_MACROS like '%blogEntry%'").append(" ");
+ clause.append("and doc2.READ_ACCESS_LEVEL <= :currentAccessLevel").append(" ");
+ if (ignoreDoc != null && ignoreDoc.getId() != null) clause.append("and doc.NODE_ID<>:ignoreDoc").append(" ");
+ if (tag != null && tag.length()>0) clause.append("and t.TAG = :tag").append(" ");
+ if (year != null) clause.append("and year(doc2.CREATED_ON) = :limitYear").append(" ");
+ if (month != null) clause.append("and month(doc2.CREATED_ON) = :limitMonth").append(" ");
+ if (day != null) clause.append("and day(doc2.CREATED_ON) = :limitDay").append(" ");
+ return clause.toString();
+ }
+
+ private void bindBlogEntryWhereClause(Query query, WikiDirectory startDir, WikiDocument ignoreDoc,
+ Integer year, Integer month, Integer day, String tag) {
+ query.setParameter("nsThread", startDir.getNodeInfo().getNsThread());
+ query.setParameter("nsLeft", startDir.getNodeInfo().getNsLeft());
+ query.setParameter("nsRight", startDir.getNodeInfo().getNsRight());
+ query.setParameter("currentAccessLevel", currentAccessLevel);
+
+ if (ignoreDoc != null && ignoreDoc.getId() != null) query.setParameter("ignoreDoc", ignoreDoc);
+ if (tag != null && tag.length()>0) query.setParameter("tag", tag);
+ if (year != null) query.setParameter("limitYear", year);
+ if (month != null) query.setParameter("limitMonth", month);
+ if (day != null) query.setParameter("limitDay", day);
+ }
+
public List<BlogEntry> findBlogEntriesWithCommentCount(WikiDirectory startDir,
WikiDocument ignoreDoc,
- String orderByProperty,
- boolean orderDescending,
- long firstResult,
- long maxResults,
+ Pager pager,
Integer year,
Integer month,
Integer day,
- final String tag) {
+ String tag) {
StringBuilder queryString = new StringBuilder();
- queryString.append("select d as entryDocument").append(", ");
- queryString.append("(select count(c) from WikiComment c where c.file = d) as commentCount").append(" ");
+ queryString.append("select").append(" ");
+ for (int i = 0; i < getWikiDocumentSQLColumnNames().length; i++) {
+ queryString.append(getWikiDocumentSQLColumnNames()[i]);
+ if (i != getWikiDocumentSQLColumnNames().length-1) queryString.append(", ");
+ }
+ queryString.append(", count(c3.NODE_ID) as COMMENT_COUNT").append(" ");
+ queryString.append(getblogEntryFromClause(tag));
+ queryString.append("left outer join WIKI_NODE c1 on doc.NODE_ID = c1.PARENT_NODE_ID").append(" ");
+ queryString.append("left outer join WIKI_COMMENT c2 on c1.NODE_ID = c2.NODE_ID").append(" ");
+ queryString.append("left outer join WIKI_COMMENT c3 on c2.NS_THREAD = c3.NS_THREAD").append(" ");
+ queryString.append(getBlogEntryWhereClause(ignoreDoc, year, month, day, tag));
- queryString.append("from WikiDocument d fetch all properties where d.parent.id in").append(" ");
- queryString.append("(");
- queryString.append("select d1.id from ").append(startDir.getTreeSuperclassEntityName()).append(" d1, ");
- queryString.append(startDir.getTreeSuperclassEntityName()).append(" d2 ");
- queryString.append("where d1.nsThread = :thread and d2.nsThread = :thread").append(" ");
- queryString.append("and d1.nsLeft between d2.nsLeft and d2.nsRight").append(" ");
- queryString.append("and d2.nsLeft >= :startLeft and d2.nsRight <= :startRight").append(" ");
- queryString.append(")");
+ queryString.append("group by").append(" ");
+ for (int i = 0; i < getWikiDocumentSQLColumnNames().length; i++) {
+ queryString.append(getWikiDocumentSQLColumnNames()[i]);
+ if (i != getWikiDocumentSQLColumnNames().length-1) queryString.append(", ");
+ }
+ queryString.append(" ");
+ queryString.append("order by doc2.CREATED_ON desc");
- if (ignoreDoc != null && ignoreDoc.getId() != null)
- queryString.append("and not d = :ignoreDoc").append(" ");
+ SQLQuery query = getSession().createSQLQuery(queryString.toString());
- queryString.append("and not d.macros like '%blogDirectory%'").append(" ");
- queryString.append("and not d.macros like '%feedTeasers%'").append(" ");
+ bindBlogEntryWhereClause(query, startDir, ignoreDoc, year, month, day, tag);
- if (year != null) queryString.append("and year(d.createdOn) = :limitYear").append(" ");
- if (month != null) queryString.append("and month(d.createdOn) = :limitMonth").append(" ");
- if (day != null) queryString.append("and day(d.createdOn) = :limitDay").append(" ");
- if (tag != null && tag.length()>0) queryString.append("and d.tags like :tag").append(" ");
+ query.setComment("Finding all blogEntry documents recursively in dir: " + startDir.getName());
+ query.addEntity(WikiDocument.class);
+ query.addScalar("COMMENT_COUNT", Hibernate.LONG);
+ query.setFirstResult( pager.getQueryFirstResult() );
+ query.setMaxResults( pager.getQueryMaxResults() );
- queryString.append("order by d.").append(orderByProperty).append(" ");
- queryString.append( orderDescending ? "desc" : "asc").append("");
-
- Query nestedSetQuery = getSession().createQuery(queryString.toString());
- nestedSetQuery.setParameter("thread", startDir.getNsThread());
- nestedSetQuery.setParameter("startLeft", startDir.getNsLeft());
- nestedSetQuery.setParameter("startRight", startDir.getNsRight());
- if (ignoreDoc != null && ignoreDoc.getId() != null)
- nestedSetQuery.setParameter("ignoreDoc", ignoreDoc);
-
- if (year != null) nestedSetQuery.setParameter("limitYear", year);
- if (month != null) nestedSetQuery.setParameter("limitMonth", month);
- if (day != null) nestedSetQuery.setParameter("limitDay", day);
- if (tag != null && tag.length()>0) nestedSetQuery.setParameter("tag", "%" + tag + "%");
-
- nestedSetQuery.setFirstResult( new Long(firstResult).intValue() );
- nestedSetQuery.setMaxResults( new Long(maxResults).intValue() );
- nestedSetQuery.setResultTransformer(
- new AliasToBeanResultTransformer(BlogEntry.class) {
+ query.setResultTransformer(
+ new ResultTransformer() {
public Object transformTuple(Object[] result, String[] aliases) {
- WikiDocument doc = (WikiDocument)result[0];
- if (tag == null || doc.isTagged(tag)) {
- return super.transformTuple(result, aliases);
- }
- return null;
+ BlogEntry be = new BlogEntry();
+ be.setEntryDocument( (WikiDocument)result[0]);
+ be.setCommentCount( (Long)result[1] );
+ return be;
}
- public List transformList(List list) {
- List listWithoutNulls = new ArrayList();
- for (Object o : super.transformList(list)) if (o != null) listWithoutNulls.add(o);
- return listWithoutNulls;
- }
+ public List transformList(List list) { return list; }
}
);
- return (List<BlogEntry>)nestedSetQuery.list();
+ return (List<BlogEntry>)query.list();
+
}
- public Long countBlogEntries(WikiNode startNode, WikiNode ignoreNode, Integer year, Integer month, Integer day, String tag) {
- return countBlogEntries(startNode, ignoreNode, false, false, false, year, month, day, tag).get(0).getNumOfEntries();
+ public Long countBlogEntries(WikiDirectory startDir, WikiDocument ignoreDoc, Integer year, Integer month, Integer day, String tag) {
+ return countBlogEntries(startDir, ignoreDoc, false, false, false, year, month, day, tag).get(0).getNumOfEntries();
}
- public List<BlogEntryCount> countAllBlogEntriesGroupByYearMonth(WikiNode startNode, WikiNode ignoreNode, String tag) {
- return countBlogEntries(startNode, ignoreNode, true, true, false, null, null, null, tag);
+ public List<BlogEntryCount> countAllBlogEntriesGroupByYearMonth(WikiDirectory startDir, WikiDocument ignoreDoc, String tag) {
+ return countBlogEntries(startDir, ignoreDoc, true, true, false, null, null, null, tag);
}
- private List<BlogEntryCount> countBlogEntries(WikiNode startNode, WikiNode ignoreNode,
- boolean projectYear, boolean projectMonth, boolean projectDay,
+ private List<BlogEntryCount> countBlogEntries(WikiDirectory startDir, WikiDocument ignoreDoc,
+ final boolean projectYear, final boolean projectMonth, final boolean projectDay,
Integer limitYear, Integer limitMonth, Integer limitDay,
String tag) {
+ // Sanity input check
+ if (projectDay && (!projectMonth || !projectYear))
+ throw new IllegalArgumentException("Can't project on day without months or year");
+ if (projectMonth && !projectYear)
+ throw new IllegalArgumentException("Can't project on month without year");
+
StringBuilder queryString = new StringBuilder();
- queryString.append("select count(n1.id) as numOfEntries");
-
- if (projectYear) queryString.append(", ").append("year(n1.createdOn) as year");
- if (projectMonth) queryString.append(", ").append("month(n1.createdOn) as month");
- if (projectDay) queryString.append(", ").append("day(n1.createdOn) as day");
-
+ queryString.append("select count(doc.NODE_ID) as NUM_OF_ENTRIES").append(" ");
+ if (projectYear) queryString.append(", ").append("year(doc2.CREATED_ON) as YEAR");
+ if (projectMonth) queryString.append(", ").append("month(doc2.CREATED_ON) as MONTH");
+ if (projectDay) queryString.append(", ").append("day(doc2.CREATED_ON) as DAY");
queryString.append(" ");
- /*
- queryString.append("from ").append(startNode.getTreeSuperclassEntityName()).append(" n1, ");
- queryString.append(startNode.getTreeSuperclassEntityName()).append(" n2 ");
- */
- queryString.append("where n1.nsThread = :thread and n2.nsThread = :thread").append(" ");
- queryString.append("and n1.nsLeft between n2.nsLeft and n2.nsRight").append(" ");
- queryString.append("and n2.nsLeft > :startLeft and n2.nsRight < :startRight").append(" ");
- queryString.append("and n2.class = :clazz").append(" ");
- queryString.append("and not n1.macros like '%blogDirectory%'").append(" ");
- if (ignoreNode.getId() != null)
- queryString.append("and not n1 = :ignoreNode").append(" ");
+ queryString.append(getblogEntryFromClause(tag));
+ queryString.append(getBlogEntryWhereClause(ignoreDoc, limitYear, limitMonth, limitDay, tag));
- if (limitYear != null) queryString.append("and year(n1.createdOn) = :limitYear").append(" ");
- if (limitMonth!= null) queryString.append("and month(n1.createdOn) = :limitMonth").append(" ");
- if (limitDay != null) queryString.append("and day(n1.createdOn) = :limitDay").append(" ");
+ if (projectYear || projectMonth || projectDay) queryString.append("group by").append(" ");
+ if (projectYear) queryString.append("year(doc2.CREATED_ON)");
+ if (projectMonth) queryString.append(", month(doc2.CREATED_ON)");
+ if (projectDay) queryString.append(", day(doc2.CREATED_ON)");
- if (tag != null && tag.length()>0) queryString.append("and n1.tags like :tag").append(" ");
+ if (projectYear || projectMonth || projectDay) queryString.append("order by").append(" ");
+ if (projectYear) queryString.append("YEAR desc");
+ if (projectMonth) queryString.append(", MONTH desc");
+ if (projectDay) queryString.append(", DAY desc");
- if (projectYear || projectMonth || projectDay) queryString.append("group by").append(" ");
- if (projectYear) queryString.append("year(n1.createdOn)");
- if (projectMonth) queryString.append(", month(n1.createdOn)");
- if (projectDay) queryString.append(", day(n1.createdOn)");
- queryString.append(" ");
+ SQLQuery query = getSession().createSQLQuery(queryString.toString());
- if (projectYear || projectMonth || projectDay) queryString.append("order by").append(" ");
- if (projectYear) queryString.append("year(n1.createdOn) desc");
- if (projectMonth) queryString.append(", month(n1.createdOn) desc");
- if (projectDay) queryString.append(", day(n1.createdOn) desc");
- queryString.append(" ");
+ bindBlogEntryWhereClause(query, startDir, ignoreDoc, limitYear, limitMonth, limitDay, tag);
- Query nestedSetQuery = getSession().createQuery(queryString.toString());
- /*
- nestedSetQuery.setParameter("thread", startNode.getNsThread());
- nestedSetQuery.setParameter("startLeft", startNode.getNsLeft());
- nestedSetQuery.setParameter("startRight", startNode.getNsRight());
- */
- nestedSetQuery.setParameter("clazz", "DOCUMENT"); // TODO: Hibernate can't bind the discriminator? Not even with Hibernate.CLASS type...
- if (ignoreNode.getId() != null)
- nestedSetQuery.setParameter("ignoreNode", ignoreNode);
- if (limitYear != null) nestedSetQuery.setParameter("limitYear", limitYear);
- if (limitMonth!= null) nestedSetQuery.setParameter("limitMonth", limitMonth);
- if (limitDay != null) nestedSetQuery.setParameter("limitDay", limitDay);
- if (tag != null && tag.length()>0) nestedSetQuery.setParameter("tag", "%" + tag + "%");
+ query.setComment("Finding blogEntry counts");
+ query.addScalar("NUM_OF_ENTRIES", Hibernate.LONG);
+ if (projectYear) query.addScalar("YEAR", Hibernate.INTEGER);
+ if (projectMonth) query.addScalar("MONTH", Hibernate.INTEGER);
+ if (projectDay) query.addScalar("DAY", Hibernate.INTEGER);
- nestedSetQuery.setResultTransformer(Transformers.aliasToBean(BlogEntryCount.class));
+ query.setResultTransformer(
+ new ResultTransformer() {
+ public Object transformTuple(Object[] result, String[] aliases) {
+ BlogEntryCount beCount = new BlogEntryCount();
+ beCount.setNumOfEntries( (Long)result[0] );
+ if (projectYear) beCount.setYear( (Integer)result[1] );
+ if (projectMonth) beCount.setMonth( (Integer)result[2] );
+ if (projectDay) beCount.setDay( (Integer)result[3] );
+ return beCount;
+ }
+ public List transformList(List list) { return list; }
+ }
+ );
- return nestedSetQuery.list();
+ return (List<BlogEntryCount>) query.list();
}
private Session getSession() {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDirectory.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDirectory.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogDirectory.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -9,19 +9,22 @@
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.Observer;
-import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.annotations.datamodel.DataModel;
+import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.model.WikiDirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
+import org.jboss.seam.wiki.core.action.Pager;
import org.jboss.seam.wiki.util.WikiUtil;
-import org.jboss.seam.wiki.preferences.Preferences;
import java.io.Serializable;
import java.util.*;
+/**
+ * @author Christian Bauer
+ */
@Name("blogDirectory")
-(a)Scope(ScopeType.PAGE)
+(a)Scope(ScopeType.CONVERSATION)
public class BlogDirectory implements Serializable {
@In
@@ -36,7 +39,11 @@
@In
WikiDocument currentDocument;
- private Integer page = 0;
+ @In("#{preferences.get('Blog', currentMacro)}")
+ BlogPreferences prefs;
+
+ private Pager pager;
+
private Integer year;
private Integer month;
private Integer day;
@@ -44,10 +51,14 @@
@RequestParameter
public void setPage(Integer page) {
- if (page != null) {
- this.page = page;
- }
+ if (pager == null) pager = new Pager(prefs.getPageSize());
+ pager.setPage(page);
}
+
+ public Pager getPager() {
+ return pager;
+ }
+
@RequestParameter
public void setYear(Integer year) {
this.year = year;
@@ -65,67 +76,44 @@
this.tag = tag;
}
- private long numOfBlogEntries;
- private long totalNumOfBlogEntries;
private List<BlogEntry> blogEntries;
private List<BlogEntryCount> blogEntryCountsByYearAndMonth;
// Need to expose this as a datamodel so Seam can convert our map to a collection of Map.Entry objects
@DataModel
private Map<Date, List<BlogEntry>> recentBlogEntries;
- private long pageSize;
- private long recentBlogEntriesCount;
-
- @Create
- public void initialize() {
- initializePreferences();
- refreshBlogEntries();
- }
-
- // Lazier than @In, would be too many injections because of c:forEach iteration on blog entry list
- private void initializePreferences() {
- // TODO: Uhm, we have several macros that use this backend bean... that doesn't work
- pageSize = Preferences.getInstance(BlogPreferences.class, "currentMacro").getPageSize();
- recentBlogEntriesCount = Preferences.getInstance(BlogPreferences.class, "currentMacro").getRecentEntriesItems();
- }
-
- private void queryNumOfBlogEntries() {
- numOfBlogEntries = blogDAO.countBlogEntries(currentDirectory, currentDocument, year, month, day, tag);
- }
-
- private void queryBlogEntries() {
+ @Observer(value = {"PersistenceContext.filterReset"}, create = false)
+ public void loadBlogEntries() {
+ pager.setPageSize(prefs.getPageSize());
+ pager.setNumOfRecords(blogDAO.countBlogEntries(currentDirectory, currentDocument, year, month, day, tag));
+ if (pager.getNumOfRecords() == 0) {
+ blogEntries = Collections.EMPTY_LIST;
+ return;
+ }
blogEntries =
blogDAO.findBlogEntriesWithCommentCount(
currentDirectory,
currentDocument,
- "createdOn",
- true,
- page * pageSize,
- pageSize,
+ pager,
year, month, day,
tag
);
}
- private void queryBlogEntryCountsByYearAndMonth() {
+
+ @Observer(value = {"Macro.render.blogArchive", "PersistenceContext.filterReset"}, create = false)
+ public void loadBlogEntryCountsByYearAndMonth() {
blogEntryCountsByYearAndMonth = blogDAO.countAllBlogEntriesGroupByYearMonth(currentDirectory, currentDocument, tag);
- for (BlogEntryCount blogEntryCount : blogEntryCountsByYearAndMonth) {
- totalNumOfBlogEntries = totalNumOfBlogEntries + blogEntryCount.getNumOfEntries();
- }
}
@Factory(value = "recentBlogEntries")
- @Observer("PreferenceComponent.refresh.blogRecentEntriesPreferences")
- public void queryRecentBlogEntries() {
- initializePreferences();
+ @Observer(value = {"Macro.render.blogRecentEntries", "PersistenceContext.filterReset"}, create = false)
+ public void loadRecentBlogEntries() {
List<BlogEntry> recentBlogEntriesNonAggregated =
blogDAO.findBlogEntriesWithCommentCount(
currentDirectory,
currentDocument,
- "createdOn",
- true,
- 0,
- recentBlogEntriesCount,
+ new Pager(prefs.getRecentEntriesItems()),
null, null, null,
null
);
@@ -153,99 +141,22 @@
}
}
- @Observer("PreferenceComponent.refresh.blogDirectoryPreferences")
- public void refreshBlogEntries() {
- initializePreferences();
- blogEntries = new ArrayList<BlogEntry>();
- queryNumOfBlogEntries();
- if (numOfBlogEntries != 0){
- queryBlogEntries();
- }
- }
-
- public long getTotalNumOfBlogEntries() {
- if (blogEntryCountsByYearAndMonth == null) {
- queryBlogEntryCountsByYearAndMonth();
- }
- return totalNumOfBlogEntries;
- }
-
- public long getNumOfBlogEntries() {
- return numOfBlogEntries;
- }
-
public List<BlogEntry> getBlogEntries() {
+ if (blogEntries == null) loadBlogEntries();
return blogEntries;
}
public List<BlogEntryCount> getBlogEntryCountsByYearAndMonth() {
- if (blogEntryCountsByYearAndMonth == null) {
- queryBlogEntryCountsByYearAndMonth();
- }
+ if (blogEntryCountsByYearAndMonth == null) loadBlogEntryCountsByYearAndMonth();
return blogEntryCountsByYearAndMonth;
}
- public int getNextPage() {
- return page + 1;
- }
-
- public int getPreviousPage() {
- return page - 1;
- }
-
- public int getFirstPage() {
- return 0;
- }
-
- public long getFirstRow() {
- return page * pageSize + 1;
- }
-
- public long getLastRow() {
- return (page * pageSize + pageSize) > numOfBlogEntries
- ? numOfBlogEntries
- : page * pageSize + pageSize;
- }
-
- public long getLastPage() {
- long lastPage = (numOfBlogEntries / pageSize);
- if (numOfBlogEntries % pageSize == 0) lastPage--;
- return lastPage;
- }
-
- public boolean isNextPageAvailable() {
- return blogEntries != null && numOfBlogEntries > ((page * pageSize) + pageSize);
- }
-
- public boolean isPreviousPageAvailable() {
- return blogEntries != null && page > 0;
- }
-
public String getDateUrl() {
- return dateAsString(year, month, day);
+ return WikiUtil.dateAsString(year, month, day);
}
public String getTagUrl() {
return tag != null && tag.length()>0 ? "/Tag/" + WikiUtil.encodeURL(tag) : "";
}
- // Utilities
-
- public static String dateAsString(Integer year, Integer month, Integer day) {
- StringBuilder dateUrl = new StringBuilder();
- if (year != null) dateUrl.append("/").append(year);
- if (month != null) dateUrl.append("/").append(padInteger(month, 2));
- if (day != null) dateUrl.append("/").append(padInteger(day, 2));
- return dateUrl.toString();
- }
-
- private static String padInteger(Integer raw, int padding) {
- String rawInteger = raw.toString();
- StringBuilder paddedInteger = new StringBuilder( );
- for ( int padIndex = rawInteger.length() ; padIndex < padding; padIndex++ ) {
- paddedInteger.append('0');
- }
- return paddedInteger.append( rawInteger ).toString();
- }
-
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntry.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntry.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntry.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,3 +1,9 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
package org.jboss.seam.wiki.plugin.blogdirectory;
import org.jboss.seam.wiki.core.model.WikiDocument;
@@ -3,9 +9,15 @@
import java.io.Serializable;
+import java.util.List;
+import java.util.ArrayList;
+/**
+ * @author Christian Bauer
+ */
public class BlogEntry implements Serializable {
WikiDocument entryDocument;
Long commentCount;
+ List<String> tags;
public BlogEntry() {}
@@ -36,6 +48,11 @@
this.commentCount = commentCount;
}
+ public List<String> getTagsAsList() {
+ if (tags == null) tags = new ArrayList<String>(entryDocument.getTags());
+ return tags;
+ }
+
public String toString() {
return "BlogEntry: " + entryDocument + " Comments: " + commentCount;
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntryCount.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntryCount.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/blogdirectory/BlogEntryCount.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,5 +1,16 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
package org.jboss.seam.wiki.plugin.blogdirectory;
+import org.jboss.seam.wiki.util.WikiUtil;
+
+/**
+ * @author Christian Bauer
+ */
public class BlogEntryCount {
Long numOfEntries;
@@ -9,31 +20,40 @@
public BlogEntryCount() {}
- public BlogEntryCount(Long numOfEntries, Integer year, Integer month, Integer day) {
- this.numOfEntries = numOfEntries;
- this.year = year;
- this.month = month;
- this.day = day;
- }
-
public Long getNumOfEntries() {
return numOfEntries;
}
+ public void setNumOfEntries(Long numOfEntries) {
+ this.numOfEntries = numOfEntries;
+ }
+
public Integer getYear() {
return year;
}
+ public void setYear(Integer year) {
+ this.year = year;
+ }
+
public Integer getMonth() {
return month;
}
+ public void setMonth(Integer month) {
+ this.month = month;
+ }
+
public Integer getDay() {
return day;
}
+ public void setDay(Integer day) {
+ this.day = day;
+ }
+
public String getAsString() {
- return BlogDirectory.dateAsString(year, month, day);
+ return WikiUtil.dateAsString(year, month, day);
}
public String toString() {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -90,6 +90,23 @@
return a + b;
}
+ public static String padInteger(Integer raw, int padding) {
+ String rawInteger = raw.toString();
+ StringBuilder paddedInteger = new StringBuilder( );
+ for ( int padIndex = rawInteger.length() ; padIndex < padding; padIndex++ ) {
+ paddedInteger.append('0');
+ }
+ return paddedInteger.append( rawInteger ).toString();
+ }
+
+ public static String dateAsString(Integer year, Integer month, Integer day) {
+ StringBuilder dateUrl = new StringBuilder();
+ if (year != null) dateUrl.append("/Year/").append(year);
+ if (month != null) dateUrl.append("/Month/").append(WikiUtil.padInteger(month, 2));
+ if (day != null) dateUrl.append("/Day/").append(WikiUtil.padInteger(day, 2));
+ return dateUrl.toString();
+ }
+
// Display all roles for a particular access level
public static Role.AccessLevel resolveAccessLevel(Integer accessLevel) {
List<Role.AccessLevel> accessLevels = (List<Role.AccessLevel>)Component.getInstance("accessLevelsList");
@@ -119,9 +136,7 @@
StringBuilder url = new StringBuilder();
url.append(Component.getInstance("basePath")).append("/service/Feed/atom").append(feed.getURL());
if (comments != null && comments.length() >0) {
- try {
- url.append("/Comments/").append(FeedServlet.Comments.valueOf(comments));
- } catch (IllegalArgumentException ex) {}
+ url.append("/Comments/").append(FeedServlet.Comments.valueOf(comments));
}
if (tag != null && tag.length() >0) url.append("/Tag/").append(encodeURL(tag));
return url.toString();
Modified: trunk/examples/wiki/src/test/log4j.xml
===================================================================
--- trunk/examples/wiki/src/test/log4j.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/test/log4j.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -34,7 +34,7 @@
<!-- ############### Hibernate logging ################# -->
<category name="org.hibernate">
- <priority value="WARN"/>
+ <priority value="ERROR"/>
</category>
<!--
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/FAQData.dbunit.xml
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/FAQData.dbunit.xml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/FAQData.dbunit.xml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -23,10 +23,10 @@
NODE_ID="301" FILE_REVISION="0"/>
<WIKI_DOCUMENT
NODE_ID="301"
- HEADER="[<=clearBackground]
[<=hideControls]
[<=hideComments]
[<=hideTags]
[<=hideCreatorHistory]
[<=faqBrowser]"
+ HEADER="[<=hideControls]
[<=hideComments]
[<=hideTags]
[<=hideCreatorHistory]
[<=faqBrowser]"
CONTENT="This is the FAQ start page."
FOOTER="[NULL]"
- HEADER_MACROS="clearBackground hideControls hideComments hideTags hideCreatorHistory faqBrowser"
+ HEADER_MACROS="hideControls hideComments hideTags hideCreatorHistory faqBrowser"
CONTENT_MACROS="[NULL]"
FOOTER_MACROS="[NULL]"
NAME_AS_TITLE="false" ENABLE_COMMENTS="false" ENABLE_COMMENT_FORM="false" ENABLE_COMMENTS_ON_FEEDS="false"/>
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/browse/DisplayDirectories.java
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/browse/DisplayDirectories.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/browse/DisplayDirectories.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -42,6 +42,8 @@
assert dirHome.getChildNodes().size() == 1;
+ assert dirHome.isRemovable(dirHome.getChildNodes().get(0));
+
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
}
}.run();
@@ -68,6 +70,8 @@
assert dirHome.getChildNodes().size() == 1;
+ assert dirHome.isRemovable(dirHome.getChildNodes().get(0));
+
assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
}
}.run();
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/Commenting.java
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/Commenting.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/Commenting.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -131,7 +131,7 @@
}
protected void invokeApplication() throws Exception {
- invokeMethod("#{commentHome.rate(11, 4)}");
+ invokeMethod("#{commentHome.rate(12, 4)}");
}
}.run();
@@ -144,7 +144,7 @@
protected void renderResponse() throws Exception {
WikiNodeDAO dao = (WikiNodeDAO)getInstance(WikiNodeDAO.class);
- assert dao.findWikiNode(11l).getRating() == 4;
+ assert dao.findWikiNode(12l).getRating() == 4;
}
}.run();
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/TrashTests.java
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/TrashTests.java 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/editing/TrashTests.java 2008-02-03 15:01:48 UTC (rev 7347)
@@ -12,13 +12,9 @@
import org.jboss.seam.wiki.core.action.DirectoryHome;
import org.jboss.seam.wiki.core.action.UploadHome;
import org.jboss.seam.wiki.core.action.PreferenceEditor;
-import org.jboss.seam.wiki.core.model.WikiDirectory;
-import org.jboss.seam.wiki.core.model.WikiDocument;
-import org.jboss.seam.wiki.core.model.WikiFeed;
-import org.jboss.seam.wiki.core.model.FeedEntry;
+import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.feeds.FeedDAO;
-import org.jboss.seam.wiki.preferences.PreferenceProvider;
import org.jboss.seam.wiki.preferences.PreferenceValue;
import org.jboss.seam.wiki.preferences.metamodel.PreferenceRegistry;
import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
@@ -331,6 +327,93 @@
}.run();
}
+ @Test
+ public void trashDocumentInDirBrowser() throws Exception {
+
+ new FacesRequest("/dirDisplay_d.xhtml") {
+
+ protected void beforeRequest() {
+ setParameter("directoryId", "2");
+ }
+
+ protected void invokeApplication() throws Exception {
+ DirectoryHome dirHome = (DirectoryHome)getInstance(DirectoryHome.class);
+ assert dirHome.getInstance().getId().equals(2l); // Init!
+ assert dirHome.getChildNodes().size() == 3;
+
+ boolean found = false;
+ for (WikiNode node : dirHome.getChildNodes()) found = node.getId().equals(9l);
+ assert found;
+
+ DocumentHome docHome = (DocumentHome)getInstance(DocumentHome.class);
+ assert docHome.remove(9l).equals("removed");
+ }
+
+ // Feed entries should be gone
+ protected void renderResponse() throws Exception {
+ WikiNodeDAO nodeDAO = (WikiNodeDAO)getInstance(WikiNodeDAO.class);
+ WikiDocument document = nodeDAO.findWikiDocument(9l);
+
+ FeedDAO feedDAO = (FeedDAO)getInstance(FeedDAO.class);
+
+ List<WikiFeed> feeds = feedDAO.findFeeds(document);
+ assert feeds.size() == 0;
+ }
+ }.run();
+
+ loginAdmin();
+
+ new NonFacesRequest("/wiki.xhtml") {
+
+ protected void beforeRequest() {
+ setParameter("areaName", "Trash");
+ }
+
+ protected void renderResponse() throws Exception {
+ DirectoryHome dirHome = (DirectoryHome)getInstance(DirectoryHome.class);
+ assert dirHome.getInstance().getId().equals(17l); // Init!
+
+ assert dirHome.getChildNodes().size() == 1;
+ assert dirHome.getChildNodes().get(0).getId().equals(9l);
+
+ assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
+ }
+ }.run();
+
+ new FacesRequest("/dirDisplay_d.xhtml") {
+
+ protected void beforeRequest() {
+ setParameter("directoryId", "17");
+ }
+
+ protected void invokeApplication() throws Exception {
+ DirectoryHome dirHome = (DirectoryHome)getInstance(DirectoryHome.class);
+ assert dirHome.getInstance().getId().equals(17l); // Init!
+ dirHome.emptyTrash();
+ }
+ }.run();
+
+ new NonFacesRequest("/wiki.xhtml") {
+
+ protected void beforeRequest() {
+ setParameter("areaName", "Trash");
+ }
+
+ protected void renderResponse() throws Exception {
+ DirectoryHome dirHome = (DirectoryHome)getInstance(DirectoryHome.class);
+ assert dirHome.getInstance().getId().equals(17l); // Init!
+
+ assert dirHome.getChildNodes().size() == 0;
+
+ WikiNodeDAO dao = (WikiNodeDAO)getInstance(WikiNodeDAO.class);
+ assert dao.findWikiNode(9l) == null;
+
+ assert getRenderedViewId().equals("/dirDisplay_d.xhtml");
+
+ }
+ }.run();
+ }
+
private void loginAdmin() throws Exception {
new FacesRequest() {
protected void invokeApplication() throws Exception {
Modified: trunk/examples/wiki/view/adminHome_d.xhtml
===================================================================
--- trunk/examples/wiki/view/adminHome_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/adminHome_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,7 +6,6 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:wiki="http://jboss.com/products/seam/wiki"
template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
Modified: trunk/examples/wiki/view/dirDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -5,6 +5,7 @@
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a="https://ajax4jsf.dev.java.net/ajax"
template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
<ui:define name="screenname">#{directoryHome.instance.name}</ui:define>
@@ -15,7 +16,7 @@
<s:link id="createDir" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.CreateSubdirectory.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.CreateSubdirectory']}"/>
<f:param name="directoryId"/>
@@ -24,14 +25,14 @@
<s:link id="editDir" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.EditDirectory.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'edit', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.EditDirectory']}"/>
</s:link>
<s:link id="createDoc" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.NewDocument.accesskey']}"
- view="/docEdit_#{skin}.xhtml"
+ view="/docEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.NewDocument']}"/>
<f:param name="documentId"/>
@@ -40,7 +41,7 @@
<s:link id="uploadFile" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.UploadFile.accesskey']}"
- view="/uploadCreate_#{skin}.xhtml"
+ view="/uploadCreate_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.UploadFile']}"/>
<f:param name="parentDirectoryId" value="#{directoryHome.instance.id}"/>
@@ -51,7 +52,7 @@
<s:fragment rendered="#{empty directoryHome.parentNode}">
<s:link id="createArea" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.NewArea.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.NewArea']}"/>
<f:param name="directoryId"/>
@@ -60,7 +61,7 @@
<s:link id="editRoot" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.EditWikiRoot.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'edit', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.EditWikiRoot']}"/>
<f:param name="parentDirectoryId"/>
@@ -107,7 +108,7 @@
<s:fragment>
<h:panelGroup styleClass="undecoratedLink"
- rendered="#{childNodesList.size > 0 and directoryHome.instance.id != wikiRoot.id}">
+ rendered="#{directoryHome.childNodes.size() > 0 and directoryHome.instance.id != wikiRoot.id}">
<h:outputText value="#{messages['lacewiki.label.Clipboard.Select']}: "/>
<h:outputLink value="#" onclick="selectCheckBoxes('wikiFileSelect'); switchClipboardControl();" tabindex="1">
<h:outputText value="#{messages['lacewiki.label.Clipboard.All']}"/>
@@ -189,7 +190,8 @@
<h:outputText value="/" styleClass="directorySeparator"/>
<ui:repeat var="directory" value="#{directoryHome.instance.path}">
- <s:link view="/dirDisplay_#{skin}.xhtml" value="#{directory.name}" styleClass="directoryButton" tabindex="1">
+ <s:link view="/dirDisplay_#{skin}.xhtml" value="#{directory.name}" propagation="none"
+ styleClass="directoryButton" tabindex="1">
<f:param name="directoryId" value="#{directory.id}"/>
</s:link>
@@ -198,7 +200,7 @@
</ui:repeat>
</h:panelGroup>
- <h:panelGroup rendered="#{childNodesList.size > 0}" styleClass="smallFont">
+ <h:panelGroup rendered="#{directoryHome.childNodes.size() > 0}" styleClass="smallFont">
<h:outputText value="#{messages['lacewiki.label.dirDisplay.ShowItems']}: "/>
<h:selectOneMenu value="#{directoryHome.pager.pageSize}" tabindex="1">
<f:selectItem itemLabel="5" itemValue="5"/>
@@ -215,8 +217,8 @@
</h:panelGrid>
- <s:div styleClass="directoryEmpty" rendered="#{childNodesList.size == 0}">
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="."
+ <s:div styleClass="directoryEmpty" rendered="#{directoryHome.childNodes.size() == 0}">
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="." propagation="none"
rendered="#{!empty directoryHome.parentNode and s:hasPermission('Node','read',directoryHome.parentNode)}">
<f:param name="directoryId" value="#{directoryHome.parentNode.id}"/>
<h:panelGrid columns="2">
@@ -229,13 +231,13 @@
</s:div>
- <h:panelGrid columns="5" rendered="#{childNodesList.size > 0 and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
+ <h:panelGrid columns="5" rendered="#{directoryHome.childNodes.size() > 0 and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
styleClass="pager pagerTop"
columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
cellpadding="0" cellspacing="0" border="0">
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.previousPageAvailable}">
<f:param name="page" value="0"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -244,7 +246,7 @@
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
rendered="#{!directoryHome.pager.previousPageAvailable}"/>
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.previousPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.previousPage}"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -260,7 +262,7 @@
#{directoryHome.pager.numOfRecords} #{messages['lacewiki.label.dirDisplay.PagerElements']}"/>
</s:span>
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.nextPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.nextPage}"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -269,7 +271,7 @@
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
rendered="#{!directoryHome.pager.nextPageAvailable}"/>
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.nextPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.lastPage}"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -281,8 +283,8 @@
</h:panelGrid>
<h:dataTable id="dirTable" var="node"
- value="#{childNodesList}"
- rendered="#{childNodesList.size > 0}"
+ value="#{directoryHome.childNodes}"
+ rendered="#{directoryHome.childNodes.size() > 0}"
styleClass="datatable topLeftBottomBorder smallFont"
headerClass="regularHeader rightBorder alignCenter"
columnClasses="onePercentColumn rightBorder alignCenter, onePercentColumn rightBorder alignCenter,
@@ -311,7 +313,7 @@
</h:column>
<h:column>
<f:facet name="header">
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="."
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="." propagation="none"
rendered="#{!empty directoryHome.parentNode and s:hasPermission('Node','read',directoryHome.parentNode)}">
<f:param name="directoryId" value="#{directoryHome.parentNode.id}"/>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/icon.dirup.gif" width="18" height="20"/>
@@ -354,22 +356,28 @@
<s:fragment rendered="#{node.isInstance('WikiDirectory')}">
<s:fragment rendered="#{s:hasPermission('Node','read',node)}">
- <s:link id="directoryLink" value="#{wiki:truncateString(node.name, 40, '...')}"
+ <s:link id="directoryLink" value="#{wiki:truncateString(node.name, 40, '...')}" propagation="none"
view="/dirDisplay_#{skin}.xhtml" tabindex="1">
<f:param name="directoryId" value="#{node.id}"/>
</s:link>
<s:div id="directoryMenu" styleClass="contextMenu">
<ul>
- <li class="undecoratedLink">
+ <li class="undecoratedLink noWrapWhitespace">
<h:outputLink value="#{wiki:renderURL(node)}">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.View']}"/>
</h:outputLink>
</li>
+ <li class="undecoratedLink noWrapWhitespace">
+ <h:outputLink value="#{wiki:renderURL(node)}" target="_blank">
+ <h:outputText value="#{messages['lacewiki.button.dirDisplay.ViewNewWindow']}"/>
+ </h:outputLink>
+ </li>
+
<s:fragment rendered="#{s:hasPermission('Node', 'edit', node)}">
<li class="undecoratedLink">
- <s:link view="/dirEdit_#{skin}.xhtml">
+ <s:link view="/dirEdit_#{skin}.xhtml" propagation="none">
<f:param name="directoryId" value="#{node.id}"/>
<h:outputText value="#{messages['lacewiki.button.dirDisplay.Edit']}"/>
</s:link>
@@ -400,15 +408,32 @@
<s:div id="documentMenu" styleClass="contextMenu">
<ul>
- <li class="undecoratedLink">
+ <li class="undecoratedLink noWrapWhitespace">
<h:outputLink value="#{wiki:renderURL(node)}">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.View']}"/>
</h:outputLink>
</li>
+ <li class="undecoratedLink noWrapWhitespace">
+ <h:outputLink value="#{wiki:renderURL(node)}" target="_blank">
+ <h:outputText value="#{messages['lacewiki.button.dirDisplay.ViewNewWindow']}"/>
+ </h:outputLink>
+ </li>
+
+ <s:fragment rendered="#{directoryHome.isRemovable(node)}">
+ <a:jsFunction name="deleteDocumentId#{node.id}"
+ action="#{documentHome.remove(node.id)}"/>
+ <li class="undecoratedLink noWrapWhitespace">
+ <h:outputLink value="#"
+ onclick="deleteConfirmation('\\'#{node.name}\\'', 'deleteDocumentId#{node.id}')">
+ <h:outputText value="#{messages['lacewiki.button.dirDisplay.Delete']}"/>
+ </h:outputLink>
+ </li>
+ </s:fragment>
+
<s:fragment rendered="#{s:hasPermission('Node', 'edit', node)}">
- <li class="undecoratedLink">
- <s:link view="/docEdit_#{skin}.xhtml">
+ <li class="undecoratedLink noWrapWhitespace">
+ <s:link view="/docEdit_#{skin}.xhtml" propagation="none">
<f:param name="documentId" value="#{node.id}"/>
<h:outputText value="#{messages['lacewiki.button.dirDisplay.Edit']}"/>
</s:link>
@@ -437,15 +462,32 @@
<s:div id="uploadMenu" styleClass="contextMenu">
<ul>
- <li class="undecoratedLink">
+ <li class="undecoratedLink noWrapWhitespace">
<h:outputLink value="#{wiki:renderURL(node)}">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.View']}"/>
</h:outputLink>
</li>
+ <li class="undecoratedLink noWrapWhitespace">
+ <h:outputLink value="#{wiki:renderURL(node)}" target="_blank">
+ <h:outputText value="#{messages['lacewiki.button.dirDisplay.ViewNewWindow']}"/>
+ </h:outputLink>
+ </li>
+
+ <s:fragment rendered="#{directoryHome.isRemovable(node)}">
+ <a:jsFunction name="deleteUploadId#{node.id}"
+ action="#{uploadHome.remove(node.id)}"/>
+ <li class="undecoratedLink noWrapWhitespace">
+ <h:outputLink value="#"
+ onclick="deleteConfirmation('\\'#{node.name}\\'', 'deleteUploadId#{node.id}')">
+ <h:outputText value="#{messages['lacewiki.button.dirDisplay.Delete']}"/>
+ </h:outputLink>
+ </li>
+ </s:fragment>
+
<s:fragment rendered="#{s:hasPermission('Node', 'edit', node)}">
- <li class="undecoratedLink">
- <s:link view="/uploadEdit_#{skin}.xhtml">
+ <li class="undecoratedLink noWrapWhitespace">
+ <s:link view="/uploadEdit_#{skin}.xhtml" propagation="none">
<f:param name="uploadId" value="#{node.id}"/>
<h:outputText value="#{messages['lacewiki.button.dirDisplay.Edit']}"/>
</s:link>
@@ -516,13 +558,13 @@
</h:dataTable>
- <h:panelGrid columns="5" rendered="#{childNodesList.size > 0 and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
+ <h:panelGrid columns="5" rendered="#{directoryHome.childNodes.size() > 0 and directoryHome.pager.numOfRecords > directoryHome.pager.pageSize}"
styleClass="pager pagerBottom"
columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
cellpadding="0" cellspacing="0" border="0">
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.previousPageAvailable}">
<f:param name="page" value="0"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -531,7 +573,7 @@
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
rendered="#{!directoryHome.pager.previousPageAvailable}"/>
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.previousPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.previousPage}"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -547,7 +589,7 @@
#{directoryHome.pager.numOfRecords} #{messages['lacewiki.label.dirDisplay.PagerElements']}"/>
</s:span>
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.nextPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.nextPage}"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
@@ -556,7 +598,7 @@
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
rendered="#{!directoryHome.pager.nextPageAvailable}"/>
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" target="_top"
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" propagation="none"
rendered="#{directoryHome.pager.nextPageAvailable}">
<f:param name="page" value="#{directoryHome.pager.lastPage}"/>
<f:param name="pageSize" value="#{directoryHome.pager.pageSize}"/>
Modified: trunk/examples/wiki/view/dirDisplay_m.xhtml
===================================================================
--- trunk/examples/wiki/view/dirDisplay_m.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/dirDisplay_m.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -16,7 +16,7 @@
<s:link id="createDir" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.CreateSubdirectory.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.CreateSubdirectory']}"/>
<f:param name="directoryId"/>
@@ -25,14 +25,14 @@
 
<s:link id="editDir" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.EditDirectory.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'edit', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.EditDirectory']}"/>
</s:link>
 
<s:link id="createDoc" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.NewDocument.accesskey']}"
- view="/docEdit_#{skin}.xhtml"
+ view="/docEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.NewDocument']}"/>
<f:param name="documentId"/>
@@ -41,7 +41,7 @@
 
<s:link id="uploadFile" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.UploadFile.accesskey']}"
- view="/uploadCreate_#{skin}.xhtml"
+ view="/uploadCreate_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.UploadFile']}"/>
<f:param name="parentDirectoryId" value="#{directoryHome.instance.id}"/>
@@ -53,7 +53,7 @@
<s:fragment rendered="#{empty directoryHome.parentNode}">
<s:link id="createArea" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.NewArea.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.NewArea']}"/>
<f:param name="directoryId"/>
@@ -62,7 +62,7 @@
<s:link id="editRoot" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.EditWikiRoot.accesskey']}"
- view="/dirEdit_#{skin}.xhtml"
+ view="/dirEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'edit', directoryHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.EditWikiRoot']}"/>
<f:param name="parentDirectoryId"/>
@@ -81,14 +81,16 @@
<div class="directoryPathPanel">
- <s:link view="/dirDisplay_#{skin}.xhtml" value="#{wikiRoot.name}" styleClass="directoryButton" tabindex="1">
+ <s:link view="/dirDisplay_#{skin}.xhtml" value="#{wikiRoot.name}" propagation="none"
+ styleClass="directoryButton" tabindex="1">
<f:param name="directoryId" value="#{wikiRoot.id}"/>
</s:link>
<h:outputText value="/" styleClass="directorySeparator"/>
<h:panelGroup>
<ui:repeat var="directory" value="#{breadcrumb}">
- <s:link view="/dirDisplay_#{skin}.xhtml" value="#{directory.name}" styleClass="directoryButton" tabindex="1">
+ <s:link view="/dirDisplay_#{skin}.xhtml" value="#{directory.name}" propagation="none"
+ styleClass="directoryButton" tabindex="1">
<f:param name="directoryId" value="#{directory.id}"/>
</s:link>
<h:outputText value="/" styleClass="directorySeparator" rendered="#{directory != directoryHome.instance}"/>
@@ -97,7 +99,7 @@
</div>
<s:div styleClass="directoryEmpty" rendered="#{empty directoryHome.childNodes}">
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="."
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="." propagation="none"
rendered="#{!empty directoryHome.parentNode and s:hasPermission('Node','read',directoryHome.parentNode)}">
<f:param name="directoryId" value="#{directoryHome.parentNode.id}"/>
<h:panelGrid columns="2">
@@ -123,7 +125,7 @@
<h:column>
<f:facet name="header">
- <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="."
+ <s:link view="/dirDisplay_#{skin}.xhtml" tabindex="1" accesskey="." propagation="none"
rendered="#{!empty directoryHome.parentNode and s:hasPermission('Node','read',directoryHome.parentNode)}">
<f:param name="directoryId" value="#{directoryHome.parentNode.id}"/>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/icon.dirup.gif" width="18" height="20"/>
@@ -151,7 +153,7 @@
<s:span rendered="#{node.isInstance('WikiDirectory')}">
<s:link id="browseDirectory" value="#{wiki:truncateString(node.name, 40, '...')}"
- view="/dirDisplay_#{skin}.xhtml"
+ view="/dirDisplay_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node','read',node)}" tabindex="2">
<f:param name="directoryId" value="#{node.id}"/>
</s:link>
@@ -166,7 +168,8 @@
</s:span>
<s:span rendered="#{node.isInstance('WikiUpload') and s:hasPermission('Node', 'edit', node)}">
- <s:link id="editFile" value="#{wiki:truncateString(node.name, 30, '...')}" tabindex="2" view="/uploadEdit_#{skin}.xhtml">
+ <s:link id="editFile" value="#{wiki:truncateString(node.name, 30, '...')}"
+ tabindex="2" view="/uploadEdit_#{skin}.xhtml" propagation="none">
<f:param name="uploadId" value="#{node.id}"/>
<f:param name="parentDirectoryId" value="#{directoryHome.instance.id}"/>
</s:link>
Modified: trunk/examples/wiki/view/docDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/docDisplay_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/docDisplay_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -29,7 +29,7 @@
<s:link id="createDoc" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.CreateDocument.accesskey']}"
- view="/docEdit_#{skin}.xhtml"
+ view="/docEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'create', documentHome.instance.parent)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.CreateDocument']}"/>
<f:param name="documentId" value=""/>
@@ -38,14 +38,14 @@
<s:link id="editDoc" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.EditDocument.accesskey']}"
- view="/docEdit_#{skin}.xhtml"
+ view="/docEdit_#{skin}.xhtml" propagation="none"
rendered="#{s:hasPermission('Node', 'edit', documentHome.instance)}">
<h:outputText escape="false" value="#{messages['lacewiki.button.EditDocument']}"/>
</s:link>
<s:link id="showHistory" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.HistoryDocument.accesskey']}"
- view="/docHistory_#{skin}.xhtml"
+ view="/docHistory_#{skin}.xhtml" propagation="none"
rendered="#{documentHome.historicalFilesPresent}">
<h:outputText escape="false" value="#{messages['lacewiki.button.HistoryDocument']}"/>
<f:param name="fileId" value="#{documentHome.nodeId}"/>
@@ -53,7 +53,7 @@
<s:link id="browseDir" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.BrowseDirectory.accesskey']}"
- view="/dirDisplay_#{skin}.xhtml">
+ view="/dirDisplay_#{skin}.xhtml" propagation="none">
<h:outputText escape="false" value="#{messages['lacewiki.button.BrowseDirectory']}"/>
<f:param name="directoryId" value="#{documentHome.instance.parent.id}"/>
</s:link>
@@ -124,7 +124,7 @@
<s:div>
#{messages['lacewiki.label.docDisplay.Tags']}: 
<ui:repeat var="tag" value="#{documentHome.instance.tagsAsList}">
- <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tag}">
+ <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tag}" propagation="none">
<f:param value="#{tag}" name="tag"/>
</s:link>
@@ -179,7 +179,7 @@
<h:outputText value="(#{messages['lacewiki.label.docDisplay.InitialRevision']})"/>
</s:fragment>
 
- <s:link view="/docHistory_#{skin}.xhtml" action="#{documentHistory.diff}">
+ <s:link view="/docHistory_#{skin}.xhtml" action="#{documentHistory.diff}" propagation="none">
<h:outputText value="#{messages['lacewiki.label.docDisplay.Diff']}"/>
<f:param name="fileId" value="#{documentHome.instance.id}"/>
<f:param name="historicalFileId" value="#{hfile.historicalFileId}"/>
@@ -207,14 +207,14 @@
<s:fragment rendered="#{not commentHome.showForm and s:hasPermission('Comment', 'create', documentHome.instance)}">
- <s:link tabindex="102"
+ <s:link tabindex="102" propagation="none"
action="#{commentHome.replyTo()}"
styleClass="buttonNonpersistent">
<f:param name="parentCommentId" value="#{c.id}"/>
<h:outputText styleClass="buttonLabel" value="#{messages['lacewiki.button.commentsDisplay.ReplyTo']}"/>
</s:link>
- <s:link tabindex="102"
+ <s:link tabindex="102" propagation="none"
action="#{commentHome.quote()}"
styleClass="buttonNonpersistent">
<f:param name="parentCommentId" value="#{c.id}"/>
Modified: trunk/examples/wiki/view/docDisplay_m.xhtml
===================================================================
--- trunk/examples/wiki/view/docDisplay_m.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/docDisplay_m.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -17,7 +17,8 @@
<s:link id="createDoc" styleClass="linkNavigation" view="/docEdit_#{skin}.xhtml"
accesskey="#{messages['lacewiki.button.CreateDocument.accesskey']}"
- rendered="#{s:hasPermission('Node', 'create', documentHome.instance.parent)}">
+ rendered="#{s:hasPermission('Node', 'create', documentHome.instance.parent)}"
+ propagation="none">
<h:outputText escape="false" value="#{messages['lacewiki.button.CreateDocument']}"/>
<f:param name="documentId" value=""/>
<f:param name="parentDirectoryId" value="#{documentHome.instance.parent.id}"/>
@@ -25,20 +26,23 @@
 
<s:link id="editDoc" styleClass="linkNavigation" view="/docEdit_#{skin}.xhtml"
accesskey="#{messages['lacewiki.button.EditDocument.accesskey']}"
- rendered="#{s:hasPermission('Node', 'edit', documentHome.instance)}">
+ rendered="#{s:hasPermission('Node', 'edit', documentHome.instance)}"
+ propagation="none">
<h:outputText escape="false" value="#{messages['lacewiki.button.EditDocument']}"/>
</s:link>
 
<s:link id="showHistory" styleClass="linkNavigation"
accesskey="#{messages['lacewiki.button.HistoryDocument.accesskey']}"
view="/docHistory_#{skin}.xhtml"
- rendered="#{documentHome.historicalFilesPresent}">
+ rendered="#{documentHome.historicalFilesPresent}"
+ propagation="none">
<h:outputText escape="false" value="#{messages['lacewiki.button.HistoryDocument']}"/>
<f:param name="fileId" value="#{documentHome.nodeId}"/>
</s:link>
 
<s:link id="browseDir" styleClass="linkNavigation" view="/dirDisplay_#{skin}.xhtml"
- accesskey="#{messages['lacewiki.button.BrowseDirectory.accesskey']}">
+ accesskey="#{messages['lacewiki.button.BrowseDirectory.accesskey']}"
+ propagation="none">
<h:outputText escape="false" value="#{messages['lacewiki.button.BrowseDirectory']}"/>
<f:param name="directoryId" value="#{documentHome.instance.parent.id}"/>
</s:link>
@@ -176,7 +180,7 @@
<s:div>
#{messages['lacewiki.label.docDisplay.Tags']}: 
<ui:repeat var="tag" value="#{documentHome.instance.tagsAsList}">
- <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tag}">
+ <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tag}" propagation="none">
<f:param value="#{tag}" name="tag"/>
</s:link>
Modified: trunk/examples/wiki/view/docHistory_d.xhtml
===================================================================
--- trunk/examples/wiki/view/docHistory_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/docHistory_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -166,7 +166,8 @@
<s:div id="documentDisplayContainer"
rendered="#{not empty documentHistory.displayedHistoricalFile}"
styleClass="box">
- <s:div rendered="#{documentHistory.displayedHistoricalFile.name != documentHistory.currentFile.name}">
+ <s:div styleClass="diffChangedName"
+ rendered="#{documentHistory.displayedHistoricalFile.name != documentHistory.currentFile.name}">
<h:outputText value="Revision document name: #{documentHistory.displayedHistoricalFile.name}"/>
<hr/>
</s:div>
Modified: trunk/examples/wiki/view/includes/commentForm.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/commentForm.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/commentForm.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,4 +1,4 @@
-<s:div styleClass="box" style="margin-top:25px"
+<s:div styleClass="box"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
@@ -32,7 +32,7 @@
</s:fragment>
<s:link tabindex="102" rendered="#{!commentHome.showForm}"
- action="#{commentHome.newComment()}"
+ action="#{commentHome.newComment()}" propagation="none"
accesskey="#{messages['lacewiki.button.commentForm.PostComment.accesskey']}"
styleClass="buttonNonpersistent">
<h:outputText escape="false" styleClass="buttonLabel"
Modified: trunk/examples/wiki/view/includes/commentsDisplay.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/commentsDisplay.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/commentsDisplay.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,4 +1,4 @@
-<s:span id="comments" styleClass="commentsDisplay"
+<s:div id="comments" styleClass="commentsDisplay"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
@@ -141,5 +141,5 @@
</h:panelGrid>
</s:div>
-</s:span>
+</s:div>
Modified: trunk/examples/wiki/view/includes/directorySelector.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/directorySelector.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/directorySelector.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -5,7 +5,6 @@
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
xmlns:wiki="http://jboss.com/products/seam/wiki"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:rich="http://richfaces.ajax4jsf.org/rich">
<!--
<ui:param name="dialogId" value="dialogDirectorySelection"/>
Deleted: trunk/examples/wiki/view/includes/languageSelector.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/languageSelector.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/languageSelector.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,18 +0,0 @@
-<div id="languageSelector"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:s="http://jboss.com/products/seam/taglib">
-
- <h:form>
- <h:panelGroup>
- <h:outputText styleClass="languageSelectorLabel" value="#{messages['Language']}"/>:
-
- <h:commandLink styleClass="languageSelectorLink" value="EN" action="#{localeSelector.selectLanguage('en')}"/><span class="languageSelectorSeparator">|</span>
-
- <h:commandLink styleClass="languageSelectorLink" value="DE" action="#{localeSelector.selectLanguage('de')}"/>
- </h:panelGroup>
- </h:form>
-
-</div>
\ No newline at end of file
Modified: trunk/examples/wiki/view/includes/ownerSelector.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/ownerSelector.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/ownerSelector.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -4,8 +4,7 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
- xmlns:wiki="http://jboss.com/products/seam/wiki"
- xmlns:j4j="http://javascript4jsf.dev.java.net/">
+ xmlns:wiki="http://jboss.com/products/seam/wiki">
<ui:param name="dialogId" value="dialogOwnerSelection"/>
<ui:define name="dialogInit">
@@ -66,7 +65,7 @@
</h:panelGrid>
</div>
- <s:div id="userPager" style="margin-top:10px;">
+ <s:div id="userPager">
<h:panelGrid columns="5" styleClass="pager pagerTop"
columnClasses="pagerIconColumn,pagerIconColumn,pagerTextColumn,pagerIconColumn,pagerIconColumn"
cellpadding="0" cellspacing="0" border="0"
Modified: trunk/examples/wiki/view/includes/userControl.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/userControl.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/userControl.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -131,6 +131,7 @@
<h:outputText styleClass="label" value="(#{currentUser.fullname})"/>
<s:link styleClass="link" action="#{authenticator.logout}" tabindex="70"
+ propagation="none"
accesskey="#{messages['lacewiki.button.userControl.Logout.accesskey']}">
<h:outputText styleClass="linkText" escape="false" value="#{messages['lacewiki.button.userControl.Logout']}"/>
</s:link>
Modified: trunk/examples/wiki/view/includes/userInfo.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/userInfo.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/includes/userInfo.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -12,7 +12,7 @@
<div class="boxHeader">
<h:outputText value="#{user.fullname}"/>
- <s:div rendered="#{wiki:showEmailAddress()}">
+ <s:div styleClass="userInfoEmail smallFont" rendered="#{wiki:showEmailAddress()}">
<h:outputLink value="#{wiki:escapeEmailURL(wiki:concat('mailto:', user.email))}">
<h:outputText value="#{wiki:escapeAtSymbol(user.email)}"/>
</h:outputLink>
Modified: trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -12,16 +12,17 @@
<s:div styleClass="blogArchive">
- <s:div styleClass="boxHeader" rendered="#{not preferences.get('Blog').archiveSubscribeIcon}">
+ <s:div styleClass="boxHeader" rendered="#{not preferences.get('Blog', currentMacro).archiveSubscribeIcon}">
<h:outputText rendered="#{empty param.tag}" value="#{messages['blogArchive.label.Archive']}"/>
<h:outputText rendered="#{not empty param.tag}" value="#{messages['blogArchive.label.Archive']} '#{param.tag}'"/>
</s:div>
- <h:panelGrid rendered="#{preferences.get('Blog').archiveSubscribeIcon}"
+ <h:panelGrid rendered="#{preferences.get('Blog', currentMacro).archiveSubscribeIcon}"
columns="2" cellpadding="0" cellspacing="0" border="0"
styleClass="boxHeader fullWidth">
- <h:panelGrid rendered="#{not empty currentDirectory.feed}" columns="2" cellpadding="0" cellspacing="0" border="0">
+ <h:panelGrid styleClass="smallFont" rendered="#{not empty currentDirectory.feed}" columns="2"
+ cellpadding="2" cellspacing="0" border="0">
<h:outputLink value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/icon.atom.ongrey.gif" width="18" height="18" alt="Atom"/>
</h:outputLink>
@@ -31,14 +32,14 @@
</h:panelGrid>
<h:outputText rendered="#{empty param.tag}" value="#{messages['blogArchive.label.Archive']}"/>
- <h:outputText rendered="#{not empty param.tag}" value="#{messages['blogArchive.label.Archive']} '#{blogDirectory.tag}'"/>
+ <h:outputText rendered="#{not empty param.tag}" value="#{messages['blogArchive.label.Archive']} '#{param.tag}'"/>
</h:panelGrid>
<div class="blogArchiveSelector boxContent">
<select id="blogArchiveCombo" class="blogArchiveCombo"
onchange="top.location.href = jQuery('#blogArchiveCombo')[0].options[jQuery('#blogArchiveCombo')[0].selectedIndex].value;">
- <option value="#{wiki:renderURL(currentDocument)}#{blogDirectory.tagUrl}">#{messages['blogArchive.label.AllEntries']} (#{blogDirectory.totalNumOfBlogEntries})</option>
+ <option value="#{wiki:renderURL(currentDocument)}#{blogDirectory.tagUrl}">#{messages['blogArchive.label.AllEntries']} (#{blogDirectory.pager.numOfRecords})</option>
<ui:repeat var="beCount" value="#{blogDirectory.blogEntryCountsByYearAndMonth}">
<s:fragment rendered="#{blogDirectory.dateUrl != beCount.asString}">
<option value="#{wiki:renderURL(currentDocument)}#{beCount.asString}#{blogDirectory.tagUrl}">
Modified: trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -16,25 +16,33 @@
<div class="box blogEntryContainer">
- <div class="blogEntryHeader">
- <h:outputText value="#{blogEntry.entryDocument.name}"/>
- <div class="undecoratedLink">
- <h:outputText styleClass="blogEntryCreatedOnText" value="#{blogEntry.entryDocument.createdOn}">
+ <div class="boxHeader blogEntryHeader">
+
+ <div class="title">
+ <h:outputText value="#{blogEntry.entryDocument.name}"/>
+ </div>
+
+ <div class="dateAuthor smallFont">
+ <h:outputText value="#{blogEntry.entryDocument.createdOn}">
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
<h:outputText value=" #{preferences.get('Wiki').timeZone}"/>
<h:outputText value=", by "/>
- <h:outputLink value="#{wiki:renderURL(blogEntry.entryDocument.createdBy.memberHome)}" target="_top"
- rendered="#{!empty blogEntry.entryDocument.createdBy.memberHome}">
- <h:outputText styleClass="blogEntryCreatedByLink"
- value="#{blogEntry.entryDocument.createdBy.fullname}"/>
- </h:outputLink>
- <h:outputText rendered="#{empty blogEntry.entryDocument.createdBy.memberHome}"
- value="#{blogEntry.entryDocument.createdBy.fullname}"/>
+ <s:span styleClass="undecoratedLink">
+ <h:outputLink value="#{wiki:renderURL(blogEntry.entryDocument.createdBy.memberHome)}" target="_top"
+ rendered="#{!empty blogEntry.entryDocument.createdBy.memberHome}">
+ <h:outputText value="#{blogEntry.entryDocument.createdBy.fullname}"/>
+ </h:outputLink>
+ <h:outputLink value="#{wiki:renderUserInfoURL(blogEntry.entryDocument.createdBy)}" target="_top"
+ rendered="#{empty blogEntry.entryDocument.createdBy.memberHome}">
+ <h:outputText value="#{blogEntry.entryDocument.createdBy.fullname}"/>
+ </h:outputLink>
+ </s:span>
</div>
+
</div>
- <div class="blogEntryContent">
+ <div class="boxContent blogEntryContent">
<wiki:formattedText value="#{blogEntry.entryDocument.content}"
linkStyleClass="regularLink"
brokenLinkStyleClass="brokenLink"
@@ -46,23 +54,24 @@
linkBaseFile="#{blogEntry.entryDocument}"
currentAreaNumber="#{currentDirectory.areaNumber}"
enablePlugins="true"/>
- </div>
- <s:div rendered="#{preferences.get('Wiki').showTags and not blogEntry.entryDocument.macroPresent('hideTags') and not empty blogEntry.entryDocument.tags}"
- styleClass="documentTags undecoratedLink">
- <s:div>
- #{messages['lacewiki.label.docDisplay.Tags']}: 
- <ui:repeat var="tag" value="#{blogEntry.entryDocument.tagsSplit}">
- <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tag}">
- <f:param value="#{tag}" name="tag"/>
- </s:link>
-
- <h:outputText rendered="#{blogEntry.entryDocument.tagsSplit.indexOf(tag) < blogEntry.entryDocument.tagsSplit.size()-1}"
- value=" | "/>
- </ui:repeat>
+ <s:div rendered="#{preferences.get('Wiki').showTags and not blogEntry.entryDocument.macroPresent('hideTags') and not empty blogEntry.entryDocument.tags}"
+ styleClass="documentTags undecoratedLink">
+ <s:div>
+ <h:outputText rendered="#{blogEntry.tagsAsList.size()==1}" value="#{messages['blogDirectory.label.Tag']}: "/>
+ <h:outputText rendered="#{blogEntry.tagsAsList.size()>1}" value="#{messages['blogDirectory.label.Tags']}: "/>
+ <ui:repeat var="tag" value="#{blogEntry.tagsAsList}">
+ <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tag}" propagation="none">
+ <f:param value="#{tag}" name="tag"/>
+ </s:link>
+ <h:outputText rendered="#{blogEntry.tagsAsList.indexOf(tag) < blogEntry.tagsAsList.size()-1}"
+ value=" | "/>
+ </ui:repeat>
+ </s:div>
</s:div>
- </s:div>
+ </div>
+
<div class="boxFooter blogEntryFooter">
<h:panelGrid styleClass="blogEntryFooterTable" columns="5" cellpadding="0" cellspacing="0" border="0">
<s:div styleClass="blogEntryCommentCount undecoratedLink"
@@ -111,36 +120,37 @@
<div class="blogEntrySeparator"/>
</c:forEach>
+
</s:div>
- <h:panelGrid columns="5" rendered="#{blogDirectory.numOfBlogEntries > preferences.get('Blog').pageSize}"
+ <h:panelGrid columns="5" rendered="#{blogDirectory.pager.numOfRecords > blogDirectory.pager.pageSize}"
styleClass="blogPagerTable"
columnClasses="blogPagerColumn, blogPagerColumn, blogPagerTextColumn, blogPagerColumn, blogPagerColumn, "
cellpadding="0" cellspacing="0" border="0">
- <h:outputLink rendered="#{blogDirectory.previousPageAvailable}" target="_top"
+ <h:outputLink rendered="#{blogDirectory.pager.previousPageAvailable}" target="_top"
value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.first.gif" width="13" height="11"/>
</div>
</h:outputLink>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
- rendered="#{!blogDirectory.previousPageAvailable}"/>
+ rendered="#{!blogDirectory.pager.previousPageAvailable}"/>
- <h:outputLink rendered="#{blogDirectory.previousPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.previousPage}#{blogDirectory.tagUrl}">
+ <h:outputLink rendered="#{blogDirectory.pager.previousPageAvailable}" target="_top"
+ value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.previousPage}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.previous.gif" width="13" height="11"/>
</div>
</h:outputLink>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
- rendered="#{!blogDirectory.previousPageAvailable}"/>
+ rendered="#{!blogDirectory.pager.previousPageAvailable}"/>
<s:span>
<h:outputText value="#{messages['blogDirectory.label.Showing']}
- #{blogDirectory.firstRow} #{messages['blogDirectory.label.To']}
- #{blogDirectory.lastRow} #{messages['blogDirectory.label.Of']}
- #{blogDirectory.numOfBlogEntries} #{messages['blogDirectory.label.BlogEntries']}"/>
+ #{blogDirectory.pager.firstRecord} #{messages['blogDirectory.label.To']}
+ #{blogDirectory.pager.lastRecord} #{messages['blogDirectory.label.Of']}
+ #{blogDirectory.pager.numOfRecords} #{messages['blogDirectory.label.BlogEntries']}"/>
<h:outputText rendered="#{!empty param.day || !empty param.month || !empty param.year}"
value=" #{messages['blogDirectory.label.In']}"/>
@@ -150,23 +160,23 @@
<h:outputText rendered="#{!empty param.tag}" value=" #{messages['blogDirectory.label.Tagged']} '#{param.tag}'"/>
</s:span>
- <h:outputLink rendered="#{blogDirectory.nextPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.nextPage}#{blogDirectory.tagUrl}">
+ <h:outputLink rendered="#{blogDirectory.pager.nextPageAvailable}" target="_top"
+ value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.nextPage}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.next.gif" width="13" height="11"/>
</div>
</h:outputLink>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
- rendered="#{!blogDirectory.nextPageAvailable}"/>
+ rendered="#{!blogDirectory.pager.nextPageAvailable}"/>
- <h:outputLink rendered="#{blogDirectory.nextPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.lastPage}#{blogDirectory.tagUrl}">
+ <h:outputLink rendered="#{blogDirectory.pager.nextPageAvailable}" target="_top"
+ value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.lastPage}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/page.last.gif" width="13" height="11"/>
</div>
</h:outputLink>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/blank.gif" width="13" height="11"
- rendered="#{!blogDirectory.nextPageAvailable}"/>
+ rendered="#{!blogDirectory.pager.nextPageAvailable}"/>
</h:panelGrid>
Modified: trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -12,15 +12,16 @@
<s:div styleClass="blogRecentEntries">
- <s:div styleClass="boxHeader" rendered="#{not preferences.get('Blog').recentEntriesSubscribeIcon}">
+ <s:div styleClass="boxHeader" rendered="#{not preferences.get('Blog', currentMacro).recentEntriesSubscribeIcon}">
<h:outputText value="#{messages['blogRecentEntries.label.RecentEntries']}"/>
</s:div>
- <h:panelGrid rendered="#{preferences.get('Blog').recentEntriesSubscribeIcon}"
+ <h:panelGrid rendered="#{preferences.get('Blog', currentMacro).recentEntriesSubscribeIcon}"
columns="2" cellpadding="0" cellspacing="0" border="0"
styleClass="boxHeader fullWidth">
- <h:panelGrid rendered="#{not empty currentDirectory.feed}" columns="2" cellpadding="0" cellspacing="0" border="0">
+ <h:panelGrid styleClass="undecoratedLink smallFont" rendered="#{not empty currentDirectory.feed}" columns="2"
+ cellpadding="2" cellspacing="0" border="0">
<h:outputLink
target="_top"
value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
@@ -43,14 +44,14 @@
columnClasses="defaultColumn"
cellpadding="0" cellspacing="0" border="0">
<h:column>
- <div class="blogRecentEntriesDay">
+ <div class="blogRecentEntriesDay smallFont">
<h:outputText value="#{dayMap.key}">
<f:convertDateTime pattern="dd. MMM yyyy" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
</div>
<h:dataTable value="#{dayMap.value}" var="be"
- columnClasses="blogRecentEntriesItem"
+ columnClasses="blogRecentEntriesItem smallFont"
cellpadding="0" cellspacing="0" border="0">
<h:column>
<h:outputLink styleClass="blogRecentEntriesItemLink" target="_top" value="#{wiki:renderURL(be.entryDocument)}">
Modified: trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/forumList/forumForm.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,7 +6,6 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:wiki="http://jboss.com/products/seam/wiki">
<s:fragment rendered="#{forumHome.showForm}">
Modified: trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -22,7 +22,7 @@
fivePercentColumn rightBorder bottomBorder alignCenter smallFont,
tenPercentColumn rightBorder bottomBorder alignCenter smallFont,
tenPercentColumn rightBorder bottomBorder alignCenter smallFont"
- rowClasses="rowOdd"
+ rowClasses="forumListRow"
cellpadding="0" cellspacing="0" border="0">
<h:column>
Modified: trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -64,7 +64,7 @@
</h:panelGrid>
<h:outputText escape="false"
- value="<div class='forumPostingDocumentWrapper #{empty commentQuery.comments or not currentDocument.enableComments? 'noComments' : ''}'>"/>
+ value="<div class='box forumPostingDocumentWrapper #{empty commentQuery.comments or not currentDocument.enableComments? 'noComments' : ''}'>"/>
<h:panelGrid columns="4" styleClass="commentHeader"
columnClasses="commentSubjectIcon, commentSubject, commentAuthorInfo smallFont, commentAuthorPortrait"
Modified: trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -30,14 +30,14 @@
<h:panelGroup rendered="#{not replyHome.showForm and replyHome.isPersistAllowed(null,null)}">
- <s:link tabindex="1"
+ <s:link tabindex="1" propagation="none"
action="#{replyHome.replyToDocument()}"
accesskey="#{messages['forum.button.Reply.accesskey']}"
styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.Reply']}"/>
</s:link>
- <s:link tabindex="1"
+ <s:link tabindex="1" propagation="none"
action="#{replyHome.quoteDocument()}"
styleClass="buttonNonpersistent"
accesskey="#{messages['forum.button.Quote.accesskey']}">
@@ -51,7 +51,7 @@
<!-- The forumPostingDocumentWrapper <div> is closed here! -->
<h:outputText escape="false" value="</div>"/>
- <s:span id="forumRepliesContainer">
+ <s:div id="forumRepliesContainer">
<s:fragment rendered="#{currentDocument.enableComments}">
@@ -115,14 +115,14 @@
<s:fragment rendered="#{not replyHome.showForm and replyHome.isPersistAllowed(null,null)}">
- <s:link tabindex="102"
+ <s:link tabindex="102" propagation="none"
action="#{replyHome.replyTo()}"
styleClass="buttonNonpersistent">
<f:param name="parentCommentId" value="#{c.id}"/>
<h:outputText styleClass="buttonLabel" value="#{messages['lacewiki.button.commentsDisplay.ReplyTo']}"/>
</s:link>
- <s:link tabindex="102"
+ <s:link tabindex="102" propagation="none"
action="#{replyHome.quote()}"
styleClass="buttonNonpersistent">
<f:param name="parentCommentId" value="#{c.id}"/>
@@ -155,6 +155,6 @@
</s:fragment>
- </s:span>
+ </s:div>
</wiki:plugin>
\ No newline at end of file
Modified: trunk/examples/wiki/view/plugins/tags/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -23,7 +23,7 @@
<h:outputLink value="#{wiki:renderURL(currentDocument)}/Tag/#{wiki:encodeURL(tagCount.tag)}">#{tagCount.tag}</h:outputLink>
</s:span>
<s:span rendered="#{param.tag != tagCount.tag and not preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
- <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tagCount.tag}">
+ <s:link view="/tagDisplay_#{skin}.xhtml" value="#{tagCount.tag}" propagation="none">
<f:param value="#{tagCount.tag}" name="tag"/>
</s:link>
</s:span>
Modified: trunk/examples/wiki/view/search_d.xhtml
===================================================================
--- trunk/examples/wiki/view/search_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/search_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,7 +6,6 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:wiki="http://jboss.com/products/seam/wiki"
template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
Modified: trunk/examples/wiki/view/tagDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/tagDisplay_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/tagDisplay_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -51,7 +51,8 @@
</s:span>
<s:span rendered="#{file.isInstance('WikiUpload') and s:hasPermission('Node', 'edit', file)}">
- <s:link id="editFile" value="#{wiki:truncateString(file.name, 30, '...')}" tabindex="2" view="/uploadEdit_#{skin}.xhtml">
+ <s:link id="editFile" value="#{wiki:truncateString(file.name, 30, '...')}" propagation="none"
+ tabindex="2" view="/uploadEdit_#{skin}.xhtml">
<f:param name="uploadId" value="#{file.id}"/>
<f:param name="parentDirectoryId" value="#{file.parent.id}"/>
</s:link>
@@ -71,7 +72,7 @@
</f:facet>
<h:graphicImage value="/themes/#{preferences.get('Wiki').themeName}/img/icon.dir.gif"
width="18" height="20" style="vertical-align: middle; margin-right: 5px;"/>
- <s:link value="#{wiki:truncateString(file.parent.name, 20, '...')}"
+ <s:link value="#{wiki:truncateString(file.parent.name, 20, '...')}" propagation="none"
view="/dirDisplay_#{skin}.xhtml"
rendered="#{s:hasPermission('Node','read',file.parent)}" tabindex="1">
<f:param name="directoryId" value="#{file.parent.id}"/>
Modified: trunk/examples/wiki/view/themes/default/css/blogArchive.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/blogArchive.css 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/default/css/blogArchive.css 2008-02-03 15:01:48 UTC (rev 7347)
@@ -7,14 +7,3 @@
color: #000;
font-weight: normal;
}
-
-.blogArchiveFooter {
- background: white url(#{themePath}/img/th.bg.gif) 0 0 repeat-x;
- padding-top: 5px;
- padding-bottom: 10px;
- padding-left: 15px;
- padding-right: 15px;
- font-weight: normal;
- color: #962325;
- text-decoration: none;
-}
Modified: trunk/examples/wiki/view/themes/default/css/blogDirectory.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/blogDirectory.css 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/default/css/blogDirectory.css 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,49 +1,34 @@
.blogEntryHeader {
- border-top: 1px solid #87786e;
- border-left: 1px solid #87786e;
- border-right: 1px solid #87786e;
- background: #fff url(#{themePath}/img/th.bg.inverse.gif) 0 0 repeat-x;
- padding-left: 15px;
- padding-right: 15px;
- padding-top: 5px;
- padding-bottom: 5px;
}
-.blogEntryHeader div {
+.blogEntryHeader .title {
+ text-align: left;
+ line-height: 200%;
+ font-size: 115%;
+}
+
+.blogEntryHeader .dateAuthor {
text-align: right;
white-space: nowrap;
font-weight: normal;
- padding-left: 15px;
- padding-right: 15px;
line-height: 100%;
}
-.blogEntryCreatedOn {}
-.blogEntryCreatedOnText {}
-.blogEntryCreatedBy {}
-.blogEntryCreatedByLink {
- color: #962325;
-}
-
.blogEntryContent {
padding-left: 15px;
padding-right: 15px;
line-height: 150%;
- text-align:justify;
+ text-align: justify;
}
+.blogEntryContent .wikiHeadline1 a,
+.blogEntryContent .wikiHeadline2 a,
+.blogEntryContent .wikiHeadline3 a,
+.blogEntryContent .wikiHeadline4 a {
+ color: black;
+}
+
.blogEntryFooter {
- background: white url(#{themePath}/img/th.bg.gif) 0 0 repeat-x;
- border-bottom: 1px solid #87786e;
- border-left: 1px solid #87786e;
- border-right: 1px solid #87786e;
- padding-top: 10px;
- padding-bottom: 5px;
- padding-left: 15px;
- padding-right: 15px;
- font-weight: normal;
- color: #962325;
- text-decoration: none;
}
.blogEntryFooterTable {}
Deleted: trunk/examples/wiki/view/themes/default/css/languageSelector.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/languageSelector.css 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/default/css/languageSelector.css 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,15 +0,0 @@
-#languageSelector {
- text-align: right;
- font-weight: bold;
-}
-
-#languageSelector .languageSelectorLink {
- color: #C7B299;
- text-decoration: none;
- padding-left: 2px;
- padding-right: 2px;
-}
-
-#languageSelector .languageSelectorSeparator {
-
-}
\ No newline at end of file
Modified: trunk/examples/wiki/view/themes/default/css/template.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/template.css 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/default/css/template.css 2008-02-03 15:01:48 UTC (rev 7347)
@@ -316,15 +316,16 @@
padding-right: 10px;
}
+.attentionMessage {
+ color: #600;
+}
+
.attentionImage {
vertical-align: text-top;
padding-left: 10px;
padding-right: 10px;
}
-.attentionMessage {
- color: #600;
-}
.messageBox .attentionImage {
vertical-align: text-top;
@@ -1218,15 +1219,6 @@
font-size: 115%;
}
-.boxHeader a {
- color: #962325;
- line-height: 100%;
- margin-left: 5px;
- font-size: 70%;
-}
-
-.boxHeader a:hover {color: #666}
-
.boxContent {
background-color: #fff;
padding: 10px;
@@ -1347,6 +1339,7 @@
margin-top: 20px;
}
+.userInfoEmail {}
.userInfoDetails {
vertical-align: top;
Modified: trunk/examples/wiki/view/themes/default/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/template.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/default/template.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -268,7 +268,7 @@
jQuery(".box").removeClass("box").addClass("boxShadowed");
}
- jQuery(function() {
+ function initPage() {
$.contextMenu.defaults({
shadow: false,
menuStyle: {
@@ -286,6 +286,10 @@
});
wrapBoxes();
+ }
+
+ jQuery(function() {
+ initPage();
});
</script>
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/blogDirectory.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/blogDirectory.css 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/blogDirectory.css 2008-02-03 15:01:48 UTC (rev 7347)
@@ -1,39 +1,38 @@
-.blogEntryContainer {
- border: 1px solid #d3d2d1;
-}
-.blogEntryContainer .boxFooter {
- border: 0;
+.blogEntryHeader {
}
-.blogEntryHeader {
- background: #fff url(#{themePath}/img/th.bg.inverse.gif) 0 0 repeat-x;
- padding-left: 10px;
- padding-right: 10px;
- padding-top: 2px;
- padding-bottom: 8px;
+.blogEntryHeader .title {
+ text-align: left;
+ line-height: 200%;
+ font-size: 115%;
}
-.blogEntryHeader div {
+.blogEntryHeader .dateAuthor {
text-align: right;
white-space: nowrap;
font-weight: normal;
line-height: 100%;
- padding-top: 3px;
}
-.blogEntryCreatedOn {}
-.blogEntryCreatedOnText {}
-.blogEntryCreatedBy {}
-.blogEntryCreatedByLink {
-}
-
.blogEntryContent {
- padding-left: 10px;
- padding-right: 10px;
+ padding-left: 15px;
+ padding-right: 15px;
line-height: 150%;
+ text-align: justify;
}
+.blogEntryContent .wikiPara {
+ margin-top: 0;
+}
+
+.blogEntryContent .wikiHeadline1 a,
+.blogEntryContent .wikiHeadline2 a,
+.blogEntryContent .wikiHeadline3 a,
+.blogEntryContent .wikiHeadline4 a {
+ color: black;
+}
+
.blogEntryFooter {
}
@@ -86,6 +85,5 @@
}
.documentTags {
- margin-left: 10px;
- margin-right: 10px;
+ margin-top: 10px;
}
\ No newline at end of file
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-03 15:01:48 UTC (rev 7347)
@@ -664,7 +664,6 @@
width: 100%;
padding: 0;
margin: 0;
- border-top: 1px solid #d3d2d1;
border-left: 1px solid #d3d2d1;
border-right: 1px solid #d3d2d1;
background: #ede8db url(../img/th.bg.gif) 0 0 repeat-x;
@@ -677,6 +676,14 @@
width: 60%;
}
+.pagerTop {
+ border-top: 1px solid #d3d2d1;
+}
+
+.pagerBottom {
+ border-bottom: 1px solid #d3d2d1;
+}
+
/* Comments
-----------------------------------------------*/
@@ -981,16 +988,6 @@
font-size: 115%;
}
-.boxHeader a {
- color: #576c74;
- line-height: 100%;
- margin-left: 5px;
- font-size: 70%;
-}
-
-.boxHeader a:hover {color: #000}
-.boxHeader a:visited {color: #576c74}
-
.boxContent {
background-color: #fff;
border-left: 1px solid #d3d2d1;
@@ -1302,6 +1299,7 @@
margin-top: 20px;
}
+.userInfoEmail {}
.userInfoDetails {
vertical-align: top;
Added: trunk/examples/wiki/view/themes/sfwkorg/img/icon.check.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/sfwkorg/img/icon.check.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/sfwkorg/img/icon.jira.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/sfwkorg/img/icon.jira.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/sfwkorg/img/icon.log.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/sfwkorg/img/icon.log.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/sfwkorg/img/icon.news.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/sfwkorg/img/icon.news.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/examples/wiki/view/themes/sfwkorg/img/icon.updates.gif
===================================================================
(Binary files differ)
Property changes on: trunk/examples/wiki/view/themes/sfwkorg/img/icon.updates.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/examples/wiki/view/themes/sfwkorg/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -263,11 +263,12 @@
// Noop for this skin
}
- jQuery(function() {
+ function initPage() {
$.contextMenu.defaults({
shadow: false,
menuStyle: {
- padding: '0'
+ padding: '0',
+ width: '200px'
},
itemStyle: {
border: 'none',
@@ -279,6 +280,11 @@
padding: '4px'
}
});
+ wrapBoxes();
+ }
+
+ jQuery(function() {
+ initPage();
});
</script>
Modified: trunk/examples/wiki/view/uploadCreate_d.xhtml
===================================================================
--- trunk/examples/wiki/view/uploadCreate_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/uploadCreate_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,7 +6,6 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:wiki="http://jboss.com/products/seam/wiki"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
Modified: trunk/examples/wiki/view/userHome_d.xhtml
===================================================================
--- trunk/examples/wiki/view/userHome_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/userHome_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,7 +6,6 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:wiki="http://jboss.com/products/seam/wiki"
template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
Modified: trunk/examples/wiki/view/userInfo_d.xhtml
===================================================================
--- trunk/examples/wiki/view/userInfo_d.xhtml 2008-02-03 14:18:57 UTC (rev 7346)
+++ trunk/examples/wiki/view/userInfo_d.xhtml 2008-02-03 15:01:48 UTC (rev 7347)
@@ -6,7 +6,6 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a="https://ajax4jsf.dev.java.net/ajax"
- xmlns:j4j="http://javascript4jsf.dev.java.net/"
xmlns:wiki="http://jboss.com/products/seam/wiki"
template="themes/#{preferences.get('Wiki').themeName}/template.xhtml">
@@ -35,7 +34,7 @@
<s:div>
- <s:div styleClass="form bottomBorder">
+ <s:div styleClass="box form bottomBorder">
<s:div styleClass="formHead">
<h:outputText value="#{messages['lacewiki.label.userInfo.UserInfo']} '#{userHome.instance.username}'"/>
</s:div>
16 years, 11 months
Seam SVN: r7346 - trunk/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-03 09:18:57 -0500 (Sun, 03 Feb 2008)
New Revision: 7346
Modified:
trunk/src/main/org/jboss/seam/Seam.java
Log:
JBSEAM-2195
Modified: trunk/src/main/org/jboss/seam/Seam.java
===================================================================
--- trunk/src/main/org/jboss/seam/Seam.java 2008-02-03 01:34:11 UTC (rev 7345)
+++ trunk/src/main/org/jboss/seam/Seam.java 2008-02-03 14:18:57 UTC (rev 7346)
@@ -19,6 +19,8 @@
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Role;
import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.faces.Converter;
+import org.jboss.seam.annotations.faces.Validator;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.contexts.Lifecycle;
@@ -62,6 +64,13 @@
{
return clazz.isAnnotationPresent(Scope.class) ?
clazz.getAnnotation(Scope.class).value() :
+ getDefaultComponentScope(clazz);
+ }
+
+ public static ScopeType getDefaultComponentScope(Class<?> clazz)
+ {
+ return ( clazz.isAnnotationPresent(Validator.class) || clazz.isAnnotationPresent(Converter.class) ) ?
+ ScopeType.STATELESS :
getComponentType(clazz).getDefaultScope();
}
16 years, 11 months
Seam SVN: r7345 - in trunk: build and 1 other directories.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 20:34:11 -0500 (Sat, 02 Feb 2008)
New Revision: 7345
Modified:
trunk/build.xml
trunk/build/build.xml
trunk/build/common.build.xml
trunk/doc/reference/en/modules/dependencies.xml
Log:
JBSEAM-1532
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2008-02-03 00:54:13 UTC (rev 7344)
+++ trunk/build/build.xml 2008-02-03 01:34:11 UTC (rev 7345)
@@ -157,8 +157,12 @@
<target name="dependencyReport" depends="initpoms" description="Produce a dependency tree for the given module">
<fail unless="module" message="Must specify module e.g. core"/>
- <maven target="-f poms/${module}.pom dependency:tree" basedir="${tmp.dir}">
- </maven>
+ <dependencyReport module="${module}" />
+ <echo>Dependency Tree for ${module}</echo>
+ <echo>-----------------------------</echo>
+ <concat>
+ <fileset file="${tmp.dir}/poms/${module}-dependency-report.txt"/>
+ </concat>
</target>
<macrodef name="offline">
Modified: trunk/build/common.build.xml
===================================================================
--- trunk/build/common.build.xml 2008-02-03 00:54:13 UTC (rev 7344)
+++ trunk/build/common.build.xml 2008-02-03 01:34:11 UTC (rev 7345)
@@ -276,6 +276,57 @@
</sequential>
</macrodef>
+ <macrodef name="dependencyReport">
+ <attribute name="module" />
+ <attribute name="pom" default="${tmp.dir}/poms/(a){module}.pom" />
+ <attribute name="output" default="${tmp.dir}/poms/(a){module}-dependency-report.txt" />
+ <sequential>
+ <maven target="-f @{pom} dependency:tree" basedir="${seam.dir}">
+ <arg line="-Doutput=@{output}" />
+ <arg line="-q" />
+ </maven>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="outputDependencyReport">
+ <attribute name="module" />
+ <attribute name="output" default="${seam.dir}/dependency-report.txt"/>
+ <sequential>
+ <dependencyReport module="@{module}" />
+ <concat append="true" destfile="@{output}">
+ <header>
+
+
+-----------------------------------------
+Dependency Tree for @{module}
+*****************************************
+-----------------------------------------
+
+</header>
+ <fileset file="${tmp.dir}/poms/(a){module}-dependency-report.txt"/>
+ </concat>
+ </sequential>
+ </macrodef>
+
+ <target name="dependencyReport" depends="initpoms" description="Build dependency report for all modules">
+ <delete file="${seam.dir}/dependency-report.txt" />
+ <concat append="true" destfile="${seam.dir}/dependency-report.txt">
+-----------------------------------------
+Dependencies for Seam ${complete.version}
+*****************************************
+-----------------------------------------
+
+ </concat>
+ <outputDependencyReport module="core" />
+ <outputDependencyReport module="debug" />
+ <outputDependencyReport module="ui" />
+ <outputDependencyReport module="remoting" />
+ <outputDependencyReport module="mail" />
+ <outputDependencyReport module="pdf" />
+ <outputDependencyReport module="ioc" />
+ <echo>Dependency Report written to ${seam.dir}/dependency-report.txt</echo>
+ </target>
+
<target name="initdav">
<artifact:install-provider artifactId="wagon-webdav" version="1.0-beta-2"/>
</target>
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2008-02-03 00:54:13 UTC (rev 7344)
+++ trunk/build.xml 2008-02-03 01:34:11 UTC (rev 7345)
@@ -531,7 +531,7 @@
</copy>
</target>
- <target name="extras">
+ <target name="extras" depends="dependencyReport">
<copy file="readme.txt" todir="${dist.dir}" />
<copy file="lgpl.txt" todir="${dist.dir}" />
<copy file="changelog.txt" todir="${dist.dir}" />
@@ -552,6 +552,7 @@
<![CDATA[${name}-${TODAY}]]>
</replacevalue>
</replace>
+ <copy file="dependency-report.txt" todir="${dist.dir}" />
</target>
Modified: trunk/doc/reference/en/modules/dependencies.xml
===================================================================
--- trunk/doc/reference/en/modules/dependencies.xml 2008-02-03 00:54:13 UTC (rev 7344)
+++ trunk/doc/reference/en/modules/dependencies.xml 2008-02-03 01:34:11 UTC (rev 7345)
@@ -15,8 +15,11 @@
</para>
<para>
- Up to date version information is not included in the docs, but is provided
- in the <literal>/build/root.pom.xml</literal> Maven POM.
+ Up to date version information and complete dependency information is not
+ included in the docs, but is provided in the
+ <literal>/dependency-report.txt</literal> which is generated from the
+ Maven POMs stored in <literal>/build</literal>. You can generate this file
+ by running <literal>ant dependencyReport</literal>.
</para>
<section>
16 years, 11 months
Seam SVN: r7344 - trunk/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 19:54:13 -0500 (Sat, 02 Feb 2008)
New Revision: 7344
Modified:
trunk/build/build.xml
trunk/build/parent.pom.xml
Log:
Dependecy report task
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2008-02-03 00:53:20 UTC (rev 7343)
+++ trunk/build/build.xml 2008-02-03 00:54:13 UTC (rev 7344)
@@ -155,6 +155,12 @@
<installExample name="${name}"/>
</target>
+ <target name="dependencyReport" depends="initpoms" description="Produce a dependency tree for the given module">
+ <fail unless="module" message="Must specify module e.g. core"/>
+ <maven target="-f poms/${module}.pom dependency:tree" basedir="${tmp.dir}">
+ </maven>
+ </target>
+
<macrodef name="offline">
<attribute name="pom" />
<attribute name="repository" />
Modified: trunk/build/parent.pom.xml
===================================================================
--- trunk/build/parent.pom.xml 2008-02-03 00:53:20 UTC (rev 7343)
+++ trunk/build/parent.pom.xml 2008-02-03 00:54:13 UTC (rev 7344)
@@ -14,27 +14,17 @@
<artifactId>root</artifactId>
<version>@seam.version@</version>
</parent>
- <!-- <pluginRepositories>
- <pluginRepository>
- <snapshots />
- <id>m2-snapshot</id>
- <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
- </pluginRepository>
- </pluginRepositories>-->
-
- <!-- Uncomment to enable newer version of dependency plugin which has the
- dependency:tree command useful for analyzing the dependency tree of a module
- You'll also need the m2-snapshot repository enabled -->
+
<build>
- <!-- <pluginManagement>
+ <pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
- <version>2.0-alpha-5-SNAPSHOT</version>
+ <version>2.0</version>
</plugin>
</plugins>
- </pluginManagement>-->
+ </pluginManagement>
</build>
<!--
16 years, 11 months
Seam SVN: r7343 - in trunk/build: maven and 4 other directories.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 19:53:20 -0500 (Sat, 02 Feb 2008)
New Revision: 7343
Added:
trunk/build/maven/
trunk/build/maven/LICENSE.txt
trunk/build/maven/NOTICE.txt
trunk/build/maven/README.txt
trunk/build/maven/bin/
trunk/build/maven/bin/m2
trunk/build/maven/bin/m2.bat
trunk/build/maven/bin/m2.conf
trunk/build/maven/bin/mvn
trunk/build/maven/bin/mvn.bat
trunk/build/maven/bin/mvnDebug
trunk/build/maven/bin/mvnDebug.bat
trunk/build/maven/boot/
trunk/build/maven/boot/classworlds-1.1.jar
trunk/build/maven/conf/
trunk/build/maven/conf/settings.xml
trunk/build/maven/lib/
trunk/build/maven/lib/maven-2.0.8-uber.jar
Modified:
trunk/build/utilities.build.xml
Log:
Maven 2.0.8
Added: trunk/build/maven/LICENSE.txt
===================================================================
--- trunk/build/maven/LICENSE.txt (rev 0)
+++ trunk/build/maven/LICENSE.txt 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
Property changes on: trunk/build/maven/LICENSE.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/build/maven/NOTICE.txt
===================================================================
--- trunk/build/maven/NOTICE.txt (rev 0)
+++ trunk/build/maven/NOTICE.txt 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,11 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+This product includes software (Plexus and Classworlds) developed by
+The Codehaus Foundation (http://www.codehaus.org/).
+
+This product includes software (JSCH) developed by
+JCraft Inc. (http://www.jcraft.com/).
+
+This product includes software (JTidy) developed by
+SourceForge (http://www.sourceforge.net/).
Property changes on: trunk/build/maven/NOTICE.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/build/maven/README.txt
===================================================================
--- trunk/build/maven/README.txt (rev 0)
+++ trunk/build/maven/README.txt 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,23 @@
+Installing Maven 2
+==================
+
+The following instructions show how to install Maven 2:
+
+1) Unpack the archive where you would like to store the binaries, eg:
+ tar zxvf maven-2.0.tar.gz
+or
+ unzip maven-2.0.zip
+
+2) A directory called "maven-2.0" will be created.
+
+3) Add the bin directory to your PATH, eg:
+ export PATH=/usr/local/maven-2.0/bin:$PATH
+or
+ set PATH="c:\program files\maven-2.0\bin";%PATH%
+
+4) Make sure JAVA_HOME is set to the location of your JDK
+
+5) Run "mvn --version" to verify that it is correctly installed.
+
+For more information, please see http://maven.apache.org
+
Property changes on: trunk/build/maven/README.txt
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/build/maven/bin/m2
===================================================================
--- trunk/build/maven/bin/m2 (rev 0)
+++ trunk/build/maven/bin/m2 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,26 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+echo ""
+echo THE m2 COMMMAND IS DEPRECATED - PLEASE RUN mvn INSTEAD
+echo ""
+
+. `dirname "$0"`/mvn
+exec "`dirname "$0"`/mvn" $QUOTED_ARGS
Property changes on: trunk/build/maven/bin/m2
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/build/maven/bin/m2.bat
===================================================================
--- trunk/build/maven/bin/m2.bat (rev 0)
+++ trunk/build/maven/bin/m2.bat 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,26 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@ECHO OFF
+echo.
+echo THE m2 COMMMAND IS DEPRECATED - PLEASE RUN mvn INSTEAD
+echo.
+
+"%~dp0\mvn" %*
+
Added: trunk/build/maven/bin/m2.conf
===================================================================
--- trunk/build/maven/bin/m2.conf (rev 0)
+++ trunk/build/maven/bin/m2.conf 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,6 @@
+main is org.apache.maven.cli.MavenCli from plexus.core
+
+set maven.home default ${user.home}/m2
+
+[plexus.core]
+load ${maven.home}/lib/*.jar
Added: trunk/build/maven/bin/mvn
===================================================================
--- trunk/build/maven/bin/mvn (rev 0)
+++ trunk/build/maven/bin/mvn 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,163 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# ----------------------------------------------------------------------------
+
+QUOTED_ARGS=""
+while [ "$1" != "" ] ; do
+
+ QUOTED_ARGS="$QUOTED_ARGS \"$1\""
+ shift
+
+done
+
+if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+fi
+
+if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ if [ -z "$JAVA_VERSION" ] ; then
+ JAVA_VERSION="CurrentJDK"
+ else
+ echo "Using Java version: $JAVA_VERSION"
+ fi
+ if [ -z "$JAVA_HOME" ] ; then
+ JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+ # TODO classpath?
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD=java
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly."
+ echo " We cannot execute $JAVACMD"
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.classworlds.Launcher
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$HOME" ] &&
+ HOME=`cygpath --path --windows "$HOME"`
+fi
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "${M2_HOME}"/boot/classworlds-*.jar \
+ "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
+ "-Dmaven.home=${M2_HOME}" \
+ ${CLASSWORLDS_LAUNCHER} $QUOTED_ARGS
+
Property changes on: trunk/build/maven/bin/mvn
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/build/maven/bin/mvn.bat
===================================================================
--- trunk/build/maven/bin/mvn.bat (rev 0)
+++ trunk/build/maven/bin/mvn.bat 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,172 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set HOME=%HOMEDRIVE%%HOMEPATH%)
+
+@REM Execute a user defined script before this one
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+
+set ERROR_CODE=0
+
+@REM set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" @setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo ERROR: JAVA_HOME not found in your environment.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto chkMHome
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory.
+echo JAVA_HOME = %JAVA_HOME%
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation
+echo.
+goto error
+
+:chkMHome
+if not "%M2_HOME%"=="" goto valMHome
+
+if "%OS%"=="Windows_NT" SET M2_HOME=%~dp0\..
+if not "%M2_HOME%"=="" goto valMHome
+
+echo.
+echo ERROR: M2_HOME not found in your environment.
+echo Please set the M2_HOME variable in your environment to match the
+echo location of the Maven installation
+echo.
+goto error
+
+:valMHome
+if exist "%M2_HOME%\bin\mvn.bat" goto init
+
+echo.
+echo ERROR: M2_HOME is set to an invalid directory.
+echo M2_HOME = %M2_HOME%
+echo Please set the M2_HOME variable in your environment to match the
+echo location of the Maven installation
+echo.
+goto error
+@REM ==== END VALIDATION ====
+
+:init
+@REM Decide how to startup depending on the version of windows
+
+@REM -- Win98ME
+if NOT "%OS%"=="Windows_NT" goto Win9xArg
+
+@REM -- 4NT shell
+if "%@eval[2+2]" == "4" goto 4NTArgs
+
+@REM -- Regular WinNT shell
+set MAVEN_CMD_LINE_ARGS=%*
+goto endInit
+
+@REM The 4NT Shell from jp software
+:4NTArgs
+set MAVEN_CMD_LINE_ARGS=%$
+goto endInit
+
+:Win9xArg
+@REM Slurp the command line arguments. This loop allows for an unlimited number
+@REM of agruments (up to the command line limit, anyway).
+set MAVEN_CMD_LINE_ARGS=
+:Win9xApp
+if %1a==a goto endInit
+set MAVEN_CMD_LINE_ARGS=%MAVEN_CMD_LINE_ARGS% %1
+shift
+goto Win9xApp
+
+@REM Reaching here means variables are defined and arguments have been captured
+:endInit
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+
+@REM -- 4NT shell
+if "%@eval[2+2]" == "4" goto 4NTCWJars
+
+@REM -- Regular WinNT shell
+for %%i in ("%M2_HOME%"\boot\classworlds-*) do set CLASSWORLDS_JAR="%%i"
+goto runm2
+
+@REM The 4NT Shell from jp software
+:4NTCWJars
+for %%i in ("%M2_HOME%\boot\classworlds-*") do set CLASSWORLDS_JAR="%%i"
+goto runm2
+
+@REM Start MAVEN2
+:runm2
+%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" org.codehaus.classworlds.Launcher %MAVEN_CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+if "%OS%"=="Windows_NT" @endlocal
+set ERROR_CODE=1
+
+:end
+@REM set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" goto endNT
+
+@REM For old DOS remove the set variables from ENV - we assume they were not set
+@REM before we started - at least we don't leave any baggage around
+set MAVEN_JAVA_EXE=
+set MAVEN_CMD_LINE_ARGS=
+goto postExec
+
+:endNT
+@endlocal
+
+:postExec
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+@REM pause the batch file if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
+
Added: trunk/build/maven/bin/mvnDebug
===================================================================
--- trunk/build/maven/bin/mvnDebug (rev 0)
+++ trunk/build/maven/bin/mvnDebug 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,167 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# ----------------------------------------------------------------------------
+
+INT_MAVEN_OPTS=$MAVEN_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+
+echo Preparing to Execute Maven in Debug Mode
+
+QUOTED_ARGS=""
+while [ "$1" != "" ] ; do
+
+ QUOTED_ARGS="$QUOTED_ARGS \"$1\""
+ shift
+
+done
+
+if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+fi
+
+if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ if [ -z "$JAVA_VERSION" ] ; then
+ JAVA_VERSION="CurrentJDK"
+ else
+ echo "Using Java version: $JAVA_VERSION"
+ fi
+ if [ -z "$JAVA_HOME" ] ; then
+ JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+ # TODO classpath?
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD=java
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly."
+ echo " We cannot execute $JAVACMD"
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.classworlds.Launcher
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$HOME" ] &&
+ HOME=`cygpath --path --windows "$HOME"`
+fi
+
+exec "$JAVACMD" \
+ $INT_MAVEN_OPTS \
+ -classpath "${M2_HOME}"/boot/classworlds-*.jar \
+ "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
+ "-Dmaven.home=${M2_HOME}" \
+ ${CLASSWORLDS_LAUNCHER} $QUOTED_ARGS
+
Property changes on: trunk/build/maven/bin/mvnDebug
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/build/maven/bin/mvnDebug.bat
===================================================================
--- trunk/build/maven/bin/mvnDebug.bat (rev 0)
+++ trunk/build/maven/bin/mvnDebug.bat 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,176 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM ----------------------------------------------------------------------------
+
+set INT_MAVEN_OPTS=%MAVEN_OPTS% -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@echo Preparing to Execute Maven in Debug Mode
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set HOME=%HOMEDRIVE%%HOMEPATH%)
+
+@REM Execute a user defined script before this one
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+
+set ERROR_CODE=0
+
+@REM set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" @setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo ERROR: JAVA_HOME not found in your environment.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto chkMHome
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory.
+echo JAVA_HOME = %JAVA_HOME%
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation
+echo.
+goto error
+
+:chkMHome
+if not "%M2_HOME%"=="" goto valMHome
+
+if "%OS%"=="Windows_NT" SET M2_HOME=%~dp0\..
+if not "%M2_HOME%"=="" goto valMHome
+
+echo.
+echo ERROR: M2_HOME not found in your environment.
+echo Please set the M2_HOME variable in your environment to match the
+echo location of the Maven installation
+echo.
+goto error
+
+:valMHome
+if exist "%M2_HOME%\bin\mvn.bat" goto init
+
+echo.
+echo ERROR: M2_HOME is set to an invalid directory.
+echo M2_HOME = %M2_HOME%
+echo Please set the M2_HOME variable in your environment to match the
+echo location of the Maven installation
+echo.
+goto error
+@REM ==== END VALIDATION ====
+
+:init
+@REM Decide how to startup depending on the version of windows
+
+@REM -- Win98ME
+if NOT "%OS%"=="Windows_NT" goto Win9xArg
+
+@REM -- 4NT shell
+if "%@eval[2+2]" == "4" goto 4NTArgs
+
+@REM -- Regular WinNT shell
+set MAVEN_CMD_LINE_ARGS=%*
+goto endInit
+
+@REM The 4NT Shell from jp software
+:4NTArgs
+set MAVEN_CMD_LINE_ARGS=%$
+goto endInit
+
+:Win9xArg
+@REM Slurp the command line arguments. This loop allows for an unlimited number
+@REM of agruments (up to the command line limit, anyway).
+set MAVEN_CMD_LINE_ARGS=
+:Win9xApp
+if %1a==a goto endInit
+set MAVEN_CMD_LINE_ARGS=%MAVEN_CMD_LINE_ARGS% %1
+shift
+goto Win9xApp
+
+@REM Reaching here means variables are defined and arguments have been captured
+:endInit
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+
+@REM -- 4NT shell
+if "%@eval[2+2]" == "4" goto 4NTCWJars
+
+@REM -- Regular WinNT shell
+for %%i in ("%M2_HOME%"\boot\classworlds-*) do set CLASSWORLDS_JAR="%%i"
+goto runm2
+
+@REM The 4NT Shell from jp software
+:4NTCWJars
+for %%i in ("%M2_HOME%\boot\classworlds-*") do set CLASSWORLDS_JAR="%%i"
+goto runm2
+
+@REM Start MAVEN2
+:runm2
+
+%MAVEN_JAVA_EXE% %INT_MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" org.codehaus.classworlds.Launcher %MAVEN_CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+if "%OS%"=="Windows_NT" @endlocal
+set ERROR_CODE=1
+
+:end
+@REM set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" goto endNT
+
+@REM For old DOS remove the set variables from ENV - we assume they were not set
+@REM before we started - at least we don't leave any baggage around
+set MAVEN_JAVA_EXE=
+set MAVEN_CMD_LINE_ARGS=
+goto postExec
+
+:endNT
+@endlocal
+
+:postExec
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+@REM pause the batch file if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
+
Added: trunk/build/maven/boot/classworlds-1.1.jar
===================================================================
(Binary files differ)
Property changes on: trunk/build/maven/boot/classworlds-1.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/build/maven/conf/settings.xml
===================================================================
--- trunk/build/maven/conf/settings.xml (rev 0)
+++ trunk/build/maven/conf/settings.xml 2008-02-03 00:53:20 UTC (rev 7343)
@@ -0,0 +1,241 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<!--
+ | This is the configuration file for Maven. It can be specified at two levels:
+ |
+ | 1. User Level. This settings.xml file provides configuration for a single user,
+ | and is normally provided in $HOME/.m2/settings.xml.
+ |
+ | NOTE: This location can be overridden with the system property:
+ |
+ | -Dorg.apache.maven.user-settings=/path/to/user/settings.xml
+ |
+ | 2. Global Level. This settings.xml file provides configuration for all maven
+ | users on a machine (assuming they're all using the same maven
+ | installation). It's normally provided in
+ | ${maven.home}/conf/settings.xml.
+ |
+ | NOTE: This location can be overridden with the system property:
+ |
+ | -Dorg.apache.maven.global-settings=/path/to/global/settings.xml
+ |
+ | The sections in this sample file are intended to give you a running start at
+ | getting the most out of your Maven installation. Where appropriate, the default
+ | values (values used when the setting is not specified) are provided.
+ |
+ |-->
+<settings>
+ <!-- localRepository
+ | The path to the local repository maven will use to store artifacts.
+ |
+ | Default: ~/.m2/repository
+ <localRepository>/path/to/local/repo</localRepository>
+ -->
+
+ <!-- interactiveMode
+ | This will determine whether maven prompts you when it needs input. If set to false,
+ | maven will use a sensible default value, perhaps based on some other setting, for
+ | the parameter in question.
+ |
+ | Default: true
+ <interactiveMode>true</interactiveMode>
+ -->
+
+ <!-- offline
+ | Determines whether maven should attempt to connect to the network when executing a build.
+ | This will have an effect on artifact downloads, artifact deployment, and others.
+ |
+ | Default: false
+ <offline>false</offline>
+ -->
+
+ <!-- proxies
+ | This is a list of proxies which can be used on this machine to connect to the network.
+ | Unless otherwise specified (by system property or command-line switch), the first proxy
+ | specification in this list marked as active will be used.
+ |-->
+ <proxies>
+ <!-- proxy
+ | Specification for one proxy, to be used in connecting to the network.
+ |
+ <proxy>
+ <id>optional</id>
+ <active>true</active>
+ <protocol>http</protocol>
+ <username>proxyuser</username>
+ <password>proxypass</password>
+ <host>proxy.host.net</host>
+ <port>80</port>
+ <nonProxyHosts>local.net,some.host.com</nonProxyHosts>
+ </proxy>
+ -->
+ </proxies>
+
+ <!-- servers
+ | This is a list of authentication profiles, keyed by the server-id used within the system.
+ | Authentication profiles can be used whenever maven must make a connection to a remote server.
+ |-->
+ <servers>
+ <!-- server
+ | Specifies the authentication information to use when connecting to a particular server, identified by
+ | a unique name within the system (referred to by the 'id' attribute below).
+ |
+ | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
+ | used together.
+ |
+ <server>
+ <id>deploymentRepo</id>
+ <username>repouser</username>
+ <password>repopwd</password>
+ </server>
+ -->
+
+ <!-- Another sample, using keys to authenticate.
+ <server>
+ <id>siteServer</id>
+ <privateKey>/path/to/private/key</privateKey>
+ <passphrase>optional; leave empty if not used.</passphrase>
+ </server>
+ -->
+ </servers>
+
+ <!-- mirrors
+ | This is a list of mirrors to be used in downloading artifacts from remote repositories.
+ |
+ | It works like this: a POM may declare a repository to use in resolving certain artifacts.
+ | However, this repository may have problems with heavy traffic at times, so people have mirrored
+ | it to several places.
+ |
+ | That repository definition will have a unique id, so we can create a mirror reference for that
+ | repository, to be used as an alternate download site. The mirror site will be the preferred
+ | server for that repository.
+ |-->
+ <mirrors>
+ <!-- mirror
+ | Specifies a repository mirror site to use instead of a given repository. The repository that
+ | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
+ | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
+ |
+ <mirror>
+ <id>mirrorId</id>
+ <mirrorOf>repositoryId</mirrorOf>
+ <name>Human Readable Name for this Mirror.</name>
+ <url>http://my.repository.com/repo/path</url>
+ </mirror>
+ -->
+ </mirrors>
+
+ <!-- profiles
+ | This is a list of profiles which can be activated in a variety of ways, and which can modify
+ | the build process. Profiles provided in the settings.xml are intended to provide local machine-
+ | specific paths and repository locations which allow the build to work in the local environment.
+ |
+ | For example, if you have an integration testing plugin - like cactus - that needs to know where
+ | your Tomcat instance is installed, you can provide a variable here such that the variable is
+ | dereferenced during the build process to configure the cactus plugin.
+ |
+ | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
+ | section of this document (settings.xml) - will be discussed later. Another way essentially
+ | relies on the detection of a system property, either matching a particular value for the property,
+ | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
+ | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
+ | Finally, the list of active profiles can be specified directly from the command line.
+ |
+ | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
+ | repositories, plugin repositories, and free-form properties to be used as configuration
+ | variables for plugins in the POM.
+ |
+ |-->
+ <profiles>
+ <!-- profile
+ | Specifies a set of introductions to the build process, to be activated using one or more of the
+ | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
+ | or the command line, profiles have to have an ID that is unique.
+ |
+ | An encouraged best practice for profile identification is to use a consistent naming convention
+ | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
+ | This will make it more intuitive to understand what the set of introduced profiles is attempting
+ | to accomplish, particularly when you only have a list of profile id's for debug.
+ |
+ | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
+ <profile>
+ <id>jdk-1.4</id>
+
+ <activation>
+ <jdk>1.4</jdk>
+ </activation>
+
+ <repositories>
+ <repository>
+ <id>jdk14</id>
+ <name>Repository for JDK 1.4 builds</name>
+ <url>http://www.myhost.com/maven/jdk14</url>
+ <layout>default</layout>
+ <snapshotPolicy>always</snapshotPolicy>
+ </repository>
+ </repositories>
+ </profile>
+ -->
+
+ <!--
+ | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
+ | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
+ | might hypothetically look like:
+ |
+ | ...
+ | <plugin>
+ | <groupId>org.myco.myplugins</groupId>
+ | <artifactId>myplugin</artifactId>
+ |
+ | <configuration>
+ | <tomcatLocation>${tomcatPath}</tomcatLocation>
+ | </configuration>
+ | </plugin>
+ | ...
+ |
+ | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
+ | anything, you could just leave off the <value/> inside the activation-property.
+ |
+ <profile>
+ <id>env-dev</id>
+
+ <activation>
+ <property>
+ <name>target-env</name>
+ <value>dev</value>
+ </property>
+ </activation>
+
+ <properties>
+ <tomcatPath>/path/to/tomcat/instance</tomcatPath>
+ </properties>
+ </profile>
+ -->
+ </profiles>
+
+ <!-- activeProfiles
+ | List of profiles that are active for all builds.
+ |
+ <activeProfiles>
+ <activeProfile>alwaysActiveProfile</activeProfile>
+ <activeProfile>anotherAlwaysActiveProfile</activeProfile>
+ </activeProfiles>
+ -->
+</settings>
Property changes on: trunk/build/maven/conf/settings.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/build/maven/lib/maven-2.0.8-uber.jar
===================================================================
(Binary files differ)
Property changes on: trunk/build/maven/lib/maven-2.0.8-uber.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/build/utilities.build.xml
===================================================================
--- trunk/build/utilities.build.xml 2008-02-03 00:50:15 UTC (rev 7342)
+++ trunk/build/utilities.build.xml 2008-02-03 00:53:20 UTC (rev 7343)
@@ -135,7 +135,7 @@
<sequential>
<java classname="org.codehaus.classworlds.Launcher" fork="true" dir="@{basedir}">
<classpath>
- <fileset dir="${maven.dir}/core/boot">
+ <fileset dir="${maven.dir}/boot">
<include name="*.jar" />
</fileset>
<fileset dir="${maven.dir}/bin">
16 years, 11 months
Seam SVN: r7342 - trunk/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 19:50:15 -0500 (Sat, 02 Feb 2008)
New Revision: 7342
Removed:
trunk/build/maven/
Log:
Prepare to update maven
16 years, 11 months
Seam SVN: r7341 - trunk/doc/reference/en/modules.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 19:36:09 -0500 (Sat, 02 Feb 2008)
New Revision: 7341
Modified:
trunk/doc/reference/en/modules/testing.xml
Log:
JBSEAM-2227
Modified: trunk/doc/reference/en/modules/testing.xml
===================================================================
--- trunk/doc/reference/en/modules/testing.xml 2008-02-03 00:23:02 UTC (rev 7340)
+++ trunk/doc/reference/en/modules/testing.xml 2008-02-03 00:36:09 UTC (rev 7341)
@@ -457,6 +457,60 @@
</para>
</section>
+
+ <section>
+ <title>Using SeamTest with another test framework</title>
+
+ <para>
+ Seam provides TestNG support out of the box, but you can also use
+ another test framework, such as JUnit, if you want.
+ </para>
+
+ <para>
+ You'll need to provide an implementation of
+ <literal>AbstractSeamTest</literal> which does the following:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Calls <literal>super.begin()</literal> before every test
+ method.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Calls <literal>super.end()</literal> after every test
+ method.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Calls <literal>super.setupClass()</literal> to setup
+ integration test environment. This should be called before
+ any test methods are called.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Calls <literal>super.cleanupClass()</literal> to clean up
+ the integration test environment.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Calls <literal>super.startSeam()</literal> to start Seam at
+ the start of integration testing.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Calls <literal>super.stopSeam()</literal> to cleanly shut
+ down Seam at the end of integration testing.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
<section>
<title>Integration Testing with Mock Data</title>
16 years, 11 months
Seam SVN: r7340 - trunk/examples/seamdiscs/view/layout.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 19:23:02 -0500 (Sat, 02 Feb 2008)
New Revision: 7340
Modified:
trunk/examples/seamdiscs/view/layout/footer.xhtml
Log:
update help
Modified: trunk/examples/seamdiscs/view/layout/footer.xhtml
===================================================================
--- trunk/examples/seamdiscs/view/layout/footer.xhtml 2008-02-03 00:21:37 UTC (rev 7339)
+++ trunk/examples/seamdiscs/view/layout/footer.xhtml 2008-02-03 00:23:02 UTC (rev 7340)
@@ -113,13 +113,7 @@
<f:facet name="controls">
<a href="javascript:Richfaces.hideModalPanel('ajax')">X</a>
</f:facet>
- <p>Trinidad and RichFaces Ajax both provide partial page refresh and submit. For Trinidad PPR to work, it needs to be surrounded by a component
- which enables PPR. The example uses <code><tr:panelPartialRoot /></code> to achieve this:</p>
- <pre class="source-code"><code><tr:panelPartialRoot>
- <tr:form>
- <tr:table value="#<span>{artists.dataModel}</span>" var="artist">
- <tr:column>
- ...</code></pre>
+ <p>Trinidad and RichFaces Ajax both provide partial page refresh and submit.</p>
<p>
If you want to use RichFaces' partial page refresh with Trinidad
components then you'll need to disable Trinidad's compressed style
16 years, 11 months
Seam SVN: r7339 - in trunk/examples/seamdiscs: view and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-02-02 19:21:37 -0500 (Sat, 02 Feb 2008)
New Revision: 7339
Modified:
trunk/examples/seamdiscs/build.xml
trunk/examples/seamdiscs/view/artist.xhtml
trunk/examples/seamdiscs/view/artists.xhtml
trunk/examples/seamdiscs/view/disc.xhtml
trunk/examples/seamdiscs/view/discs.xhtml
trunk/examples/seamdiscs/view/home.xhtml
Log:
JBSEAM-2374
Modified: trunk/examples/seamdiscs/build.xml
===================================================================
--- trunk/examples/seamdiscs/build.xml 2008-02-03 00:04:21 UTC (rev 7338)
+++ trunk/examples/seamdiscs/build.xml 2008-02-03 00:21:37 UTC (rev 7339)
@@ -41,13 +41,13 @@
<target name="copyextradependencies">
<artifact:dependencies filesetId="trinidad.fileset" versionsId="trinidad.versions" sourcesfilesetid="trinidad.sources">
- <dependency groupId="org.apache.myfaces.trinidad" artifactId="trinidad-api" version="1.2.1">
+ <dependency groupId="org.apache.myfaces.trinidad" artifactId="trinidad-api" version="1.2.5">
<exclusion groupId="org.apache.myfaces.trinidad" artifactId="trinidad-build" />
<exclusion groupId="javax.servlet" artifactId="servlet-api" />
<exclusion groupId="javax.servlet.jsp" artifactId="jsp-api"/>
<exclusion groupId="javax.faces" artifactId="jsf-api"/>
</dependency>
- <dependency groupId="org.apache.myfaces.trinidad" artifactId="trinidad-impl" version="1.2.1">
+ <dependency groupId="org.apache.myfaces.trinidad" artifactId="trinidad-impl" version="1.2.5">
<exclusion groupId="org.apache.myfaces.trinidad" artifactId="trinidad-build" />
<exclusion groupId="javax.servlet" artifactId="servlet-api" />
<exclusion groupId="javax.servlet.jsp" artifactId="jsp-api"/>
Modified: trunk/examples/seamdiscs/view/artist.xhtml
===================================================================
--- trunk/examples/seamdiscs/view/artist.xhtml 2008-02-03 00:04:21 UTC (rev 7338)
+++ trunk/examples/seamdiscs/view/artist.xhtml 2008-02-03 00:21:37 UTC (rev 7339)
@@ -13,74 +13,72 @@
<ui:define name="body">
<rich:panel>
- <f:facet name="header"><tr:outputText value="#{artist.name} (#{messages[artist.class.name]})" rendered="#{artist.name ne null}" /></f:facet>
- <tr:panelPartialRoot>
- <h:form>
- <s:validateAll>
- <tr:panelFormLayout>
- <tr:inputText label="Artist" value="#{artist.name}" readOnly="#{not identity.loggedIn}" required="true"/>
- <tr:panelLabelAndMessage label="Band Members" rendered="#{artist.class.simpleName eq 'Band'}">
- <ul>
- <ui:repeat value="#{artist.bandMembers}" var="bandMember">
- <li>
- <tr:inputText simple="true" value="#{bandMember.name}" readOnly="#{not identity.loggedIn}" id="bandMember"/>
- <rich:suggestionbox for="bandMember" selfRendered="true" minChars="3" suggestionAction="#{bandMemberFinder.getBandMembers}" var="bandMember">
- <h:column>
- <h:outputText value="#{bandMember.name}" />
- </h:column>
- </rich:suggestionbox>
- </li>
- </ui:repeat>
- </ul>
- <f:facet name="end">
- <h:commandButton action="#{artistHome.addBandMember}" value="Add Band Member" rendered="#{identity.loggedIn}"/>
- </f:facet>
- </tr:panelLabelAndMessage>
- <tr:panelLabelAndMessage label="Details">
- <tr:inputText simple="true" value="#{artist.description}" rendered="#{identity.loggedIn}" rows="4" columns="60" id="description">
- <a:support event="onkeyup" reRender="description_preview" requestDelay="3000" ignoreDupResponces="true" eventsQueue="previewQueue" />
- </tr:inputText>
- <s:div style="width: 300px" id="description_preview">
-
- <s:formattedText value="#{artist.description}" rendered="#{not empty artist.description}" />
- <tr:outputText value="None known" rendered="#{empty artist.description}" />
+ <f:facet name="header"><tr:outputText value="#{artist.name} (#{messages[artist.class.name]})" rendered="#{artist.name ne null}" /></f:facet>
+ <h:form>
+ <s:validateAll>
+ <tr:panelFormLayout>
+ <tr:inputText label="Artist" value="#{artist.name}" readOnly="#{not identity.loggedIn}" required="true"/>
+ <tr:panelLabelAndMessage label="Band Members" rendered="#{artist.class.simpleName eq 'Band'}">
+ <ul>
+ <ui:repeat value="#{artist.bandMembers}" var="bandMember">
+ <li>
+ <tr:inputText simple="true" value="#{bandMember.name}" readOnly="#{not identity.loggedIn}" id="bandMember"/>
+ <rich:suggestionbox for="bandMember" selfRendered="true" minChars="3" suggestionAction="#{bandMemberFinder.getBandMembers}" var="bandMember">
+ <h:column>
+ <h:outputText value="#{bandMember.name}" />
+ </h:column>
+ </rich:suggestionbox>
+ </li>
+ </ui:repeat>
+ </ul>
+ <f:facet name="end">
+ <h:commandButton action="#{artistHome.addBandMember}" value="Add Band Member" rendered="#{identity.loggedIn}"/>
+ </f:facet>
+ </tr:panelLabelAndMessage>
+ <tr:panelLabelAndMessage label="Details">
+ <tr:inputText simple="true" value="#{artist.description}" rendered="#{identity.loggedIn}" rows="4" columns="60" id="description">
+ <a:support event="onkeyup" reRender="description_preview" requestDelay="3000" ignoreDupResponces="true" eventsQueue="previewQueue" />
+ </tr:inputText>
+ <s:div style="width: 300px" id="description_preview">
+
+ <s:formattedText value="#{artist.description}" rendered="#{not empty artist.description}" />
+ <tr:outputText value="None known" rendered="#{empty artist.description}" />
+ </s:div>
+ </tr:panelLabelAndMessage>
+ <tr:panelLabelAndMessage label="Discs">
+ <tr:table value="#{artist.discs}" var="disc" rows="5" emptyText="None Known">
+ <tr:column>
+ <f:facet name="header">
+ Disc
+ </f:facet>
+ <tr:inputText value="#{disc.name}" readOnly="#{not identity.loggedIn}"/>
+ </tr:column>
+ <tr:column>
+ <f:facet name="header">
+ Released
+ </f:facet>
+ <tr:inputNumberSpinbox label="Release Date" value="#{disc.release}" minimum="1900" maximum="2010" stepSize="1" readOnly="#{not identity.loggedIn}" />
+ </tr:column>
+ <f:facet name="detailStamp">
+ <s:div style="width: 300px;">
+ <s:formattedText value="#{disc.description}" rendered="#{not empty disc.description}" />
+ <tr:outputText value="None known" rendered="#{empty disc.description}" />
</s:div>
- </tr:panelLabelAndMessage>
- <tr:panelLabelAndMessage label="Discs">
- <tr:table value="#{artist.discs}" var="disc" rows="5" emptyText="None Known">
- <tr:column>
- <f:facet name="header">
- Disc
- </f:facet>
- <tr:inputText value="#{disc.name}" readOnly="#{not identity.loggedIn}"/>
- </tr:column>
- <tr:column>
- <f:facet name="header">
- Released
- </f:facet>
- <tr:inputNumberSpinbox label="Release Date" value="#{disc.release}" minimum="1900" maximum="2010" stepSize="1" readOnly="#{not identity.loggedIn}" />
- </tr:column>
- <f:facet name="detailStamp">
- <s:div style="width: 300px;">
- <s:formattedText value="#{disc.description}" rendered="#{not empty disc.description}" />
- <tr:outputText value="None known" rendered="#{empty disc.description}" />
- </s:div>
- </f:facet>
- </tr:table>
- <f:facet name="end">
- <h:commandButton action="#{artistHome.addDisc}" value="Add Disc" rendered="#{identity.loggedIn}"/>
- </f:facet>
- </tr:panelLabelAndMessage>
- </tr:panelFormLayout>
- </s:validateAll>
-
- <tr:panelButtonBar rendered="#{identity.loggedIn}">
- <h:commandButton action="#{artistHome.update}" value="Save" rendered="#{artistHome.managed}" />
- <h:commandButton action="#{artistHome.persist}" value="Save" rendered="#{not artistHome.managed}" />
- <s:button action="cancel" value="Cancel" />
- </tr:panelButtonBar>
- </h:form>
- </tr:panelPartialRoot>
+ </f:facet>
+ </tr:table>
+ <f:facet name="end">
+ <h:commandButton action="#{artistHome.addDisc}" value="Add Disc" rendered="#{identity.loggedIn}"/>
+ </f:facet>
+ </tr:panelLabelAndMessage>
+ </tr:panelFormLayout>
+ </s:validateAll>
+
+ <tr:panelButtonBar rendered="#{identity.loggedIn}">
+ <h:commandButton action="#{artistHome.update}" value="Save" rendered="#{artistHome.managed}" />
+ <h:commandButton action="#{artistHome.persist}" value="Save" rendered="#{not artistHome.managed}" />
+ <s:button action="cancel" value="Cancel" />
+ </tr:panelButtonBar>
+ </h:form>
</rich:panel>
</ui:define>
Modified: trunk/examples/seamdiscs/view/artists.xhtml
===================================================================
--- trunk/examples/seamdiscs/view/artists.xhtml 2008-02-03 00:04:21 UTC (rev 7338)
+++ trunk/examples/seamdiscs/view/artists.xhtml 2008-02-03 00:21:37 UTC (rev 7339)
@@ -14,68 +14,65 @@
<rich:panel>
<f:facet name="header">Artists</f:facet>
- <tr:panelPartialRoot>
+ <tr:form>
+ <tr:inputText value="#{exampleArtist.name}" label="Filter by artist name">
+ <a:support reRender="artists" event="onkeyup" requestDelay="1" />
+ </tr:inputText>
+  
+ <a:status>
+ <f:facet name="start">
+ <h:graphicImage value="/img/spinner.gif" />
+ </f:facet>
+ </a:status>
+ </tr:form>
+
+ <a:outputPanel id="artists">
<tr:form>
- <tr:inputText value="#{exampleArtist.name}" label="Filter by artist name">
- <a:support reRender="artists" event="onkeyup" requestDelay="1" />
- </tr:inputText>
-  
- <a:status>
- <f:facet name="start">
- <h:graphicImage value="/img/spinner.gif" />
+ <tr:table value="#{artists.dataModel}" var="artist"
+ rows="#{artists.maxResults}">
+ <tr:column sortable="true" sortProperty="artist.name">
+ <f:facet name="header">
+ Name
+ </f:facet>
+ <s:link action="artist">
+ <tr:outputText value="#{artist.name}" />
+ <f:param name="artistId" value="#{artist.id}" />
+ </s:link>
+ </tr:column>
+ <tr:column>
+ <f:facet name="header">
+ Band Members
+ </f:facet>
+ <tr:outputText value="Solo performer"
+ rendered="#{artist.class.simpleName eq 'Artist'}" />
+ <tr:outputText value="None"
+ rendered="#{artist.class.simpleName eq 'Band' and empty artist.bandMembers}" />
+ <rich:dataList value="#{artist.bandMembers}" var="bandMember"
+ rendered="#{artist.class.simpleName eq 'Band' and not empty artist.bandMembers}">
+ <tr:outputText value="#{bandMember.name}" />
+ </rich:dataList>
+ </tr:column>
+ <f:facet name="detailStamp">
+ <s:div style="width: 200px">
+ <s:formattedText value="#{artist.description}"
+ rendered="#{not empty artist.description}" />
+ <tr:outputText value="None known"
+ rendered="#{empty artist.description}" />
+ </s:div>
</f:facet>
- </a:status>
+ </tr:table>
</tr:form>
-
- <a:outputPanel id="artists">
- <tr:form>
- <tr:table value="#{artists.dataModel}" var="artist"
- rows="#{artists.maxResults}">
- <tr:column sortable="true" sortProperty="artist.name">
- <f:facet name="header">
- Name
- </f:facet>
- <s:link action="artist">
- <tr:outputText value="#{artist.name}" />
- <f:param name="artistId" value="#{artist.id}" />
- </s:link>
- </tr:column>
- <tr:column>
- <f:facet name="header">
- Band Members
- </f:facet>
- <tr:outputText value="Solo performer"
- rendered="#{artist.class.simpleName eq 'Artist'}" />
- <tr:outputText value="None"
- rendered="#{artist.class.simpleName eq 'Band' and empty artist.bandMembers}" />
- <rich:dataList value="#{artist.bandMembers}" var="bandMember"
- rendered="#{artist.class.simpleName eq 'Band' and not empty artist.bandMembers}">
- <tr:outputText value="#{bandMember.name}" />
- </rich:dataList>
- </tr:column>
- <f:facet name="detailStamp">
- <s:div style="width: 200px">
- <s:formattedText value="#{artist.description}"
- rendered="#{not empty artist.description}" />
- <tr:outputText value="None known"
- rendered="#{empty artist.description}" />
- </s:div>
- </f:facet>
- </tr:table>
- </tr:form>
- </a:outputPanel>
- <tr:panelButtonBar rendered="#{identity.loggedIn}">
- <s:button action="artist" value="Add artist">
- <f:param name="artistId" value="" />
- <f:param name="type" value="artist" />
- </s:button>
- <s:button action="artist" value="Add band">
- <f:param name="artistId" value="" />
- <f:param name="type" value="band" />
- </s:button>
- </tr:panelButtonBar>
-
- </tr:panelPartialRoot>
+ </a:outputPanel>
+ <tr:panelButtonBar rendered="#{identity.loggedIn}">
+ <s:button action="artist" value="Add artist">
+ <f:param name="artistId" value="" />
+ <f:param name="type" value="artist" />
+ </s:button>
+ <s:button action="artist" value="Add band">
+ <f:param name="artistId" value="" />
+ <f:param name="type" value="band" />
+ </s:button>
+ </tr:panelButtonBar>
</rich:panel>
</ui:define>
Modified: trunk/examples/seamdiscs/view/disc.xhtml
===================================================================
--- trunk/examples/seamdiscs/view/disc.xhtml 2008-02-03 00:04:21 UTC (rev 7338)
+++ trunk/examples/seamdiscs/view/disc.xhtml 2008-02-03 00:21:37 UTC (rev 7339)
@@ -19,36 +19,34 @@
<tr:outputText value=" by #{disc.artist.name}" />
</s:fragment>
</f:facet>
- <tr:panelPartialRoot>
- <tr:form>
- <s:validateAll>
- <tr:panelFormLayout>
- <tr:inputText label="Disc" value="#{disc.name}" readOnly="#{not identity.loggedIn}" required="true" />
- <tr:inputNumberSpinbox label="Release Date" value="#{disc.release}" minimum="1900" maximum="2010" stepSize="1" readOnly="#{not identity.loggedIn}" />
- <tr:selectOneChoice value="#{disc.artist}" label="Artist" required="true" readOnly="#{not identity.loggedIn}">
- <s:selectItems value="#{allArtists.resultList}" var="artist" label="#{artist.name}" noSelectionLabel="Please Select..." hideNoSelectionLabel="true" />
- <s:convertEntity />
- </tr:selectOneChoice>
- <tr:panelLabelAndMessage label="Details">
- <tr:inputText simple="true" value="#{disc.description}" rendered="#{identity.loggedIn}" rows="4" columns="60" id="description">
- <a:support event="onkeyup" reRender="description_preview" requestDelay="3000" ignoreDupResponces="true" eventsQueue="previewQueue" />
- </tr:inputText>
- <s:div style="width: 300px;" id="description_preview">
- <s:formattedText value="#{disc.description}" rendered="#{not empty disc.description}" />
- <tr:outputText value="None known" rendered="#{empty disc.description}" />
- </s:div>
- </tr:panelLabelAndMessage>
- </tr:panelFormLayout>
- </s:validateAll>
-
- <tr:panelButtonBar rendered="#{identity.loggedIn}">
- <h:commandButton action="#{discHome.update}" value="Save" rendered="#{discHome.managed}" />
- <h:commandButton action="#{discHome.persist}" value="Save" rendered="#{not discHome.managed}" />
- <h:commandButton action="#{discHome.remove}" value="Delete" rendered="#{discHome.managed}" />
- <s:button action="cancel" value="Cancel" />
- </tr:panelButtonBar>
- </tr:form>
- </tr:panelPartialRoot>
+ <tr:form>
+ <s:validateAll>
+ <tr:panelFormLayout>
+ <tr:inputText label="Disc" value="#{disc.name}" readOnly="#{not identity.loggedIn}" required="true" />
+ <tr:inputNumberSpinbox label="Release Date" value="#{disc.release}" minimum="1900" maximum="2010" stepSize="1" readOnly="#{not identity.loggedIn}" />
+ <tr:selectOneChoice value="#{disc.artist}" label="Artist" required="true" readOnly="#{not identity.loggedIn}">
+ <s:selectItems value="#{allArtists.resultList}" var="artist" label="#{artist.name}" noSelectionLabel="Please Select..." hideNoSelectionLabel="true" />
+ <s:convertEntity />
+ </tr:selectOneChoice>
+ <tr:panelLabelAndMessage label="Details">
+ <tr:inputText simple="true" value="#{disc.description}" rendered="#{identity.loggedIn}" rows="4" columns="60" id="description">
+ <a:support event="onkeyup" reRender="description_preview" requestDelay="3000" ignoreDupResponces="true" eventsQueue="previewQueue" />
+ </tr:inputText>
+ <s:div style="width: 300px;" id="description_preview">
+ <s:formattedText value="#{disc.description}" rendered="#{not empty disc.description}" />
+ <tr:outputText value="None known" rendered="#{empty disc.description}" />
+ </s:div>
+ </tr:panelLabelAndMessage>
+ </tr:panelFormLayout>
+ </s:validateAll>
+
+ <tr:panelButtonBar rendered="#{identity.loggedIn}">
+ <h:commandButton action="#{discHome.update}" value="Save" rendered="#{discHome.managed}" />
+ <h:commandButton action="#{discHome.persist}" value="Save" rendered="#{not discHome.managed}" />
+ <h:commandButton action="#{discHome.remove}" value="Delete" rendered="#{discHome.managed}" />
+ <s:button action="cancel" value="Cancel" />
+ </tr:panelButtonBar>
+ </tr:form>
</rich:panel>
</ui:define>
Modified: trunk/examples/seamdiscs/view/discs.xhtml
===================================================================
--- trunk/examples/seamdiscs/view/discs.xhtml 2008-02-03 00:04:21 UTC (rev 7338)
+++ trunk/examples/seamdiscs/view/discs.xhtml 2008-02-03 00:21:37 UTC (rev 7339)
@@ -12,39 +12,37 @@
<ui:define name="body">
<rich:panel>
- <f:facet name="header">Discs</f:facet>
- <tr:panelPartialRoot>
- <tr:form>
- <tr:table value="#{discs.dataModel}" var="disc" rows="#{discs.maxResults}">
- <tr:column sortable="true" sortProperty="disc.name">
- <f:facet name="header">
- Name
- </f:facet>
- <s:link action="disc">
- <tr:outputText value="#{disc.name}" />
- <f:param name="discId" value="#{disc.id}" />
- </s:link>
- </tr:column>
- <tr:column>
- <f:facet name="header">
- Artist
- </f:facet>
- <tr:outputText value="#{disc.artist.name}" />
- </tr:column>
- <f:facet name="detailStamp">
- <s:div style="width: 200px">
- <s:formattedText value="#{disc.description}" rendered="#{not empty disc.description}" />
- <tr:outputText value="None known" rendered="#{empty disc.description}" />
- </s:div>
- </f:facet>
- </tr:table>
- <tr:panelButtonBar rendered="#{identity.loggedIn}">
- <s:button action="disc" value="Add disc">
- <f:param name="discId" value="" />
- </s:button>
- </tr:panelButtonBar>
- </tr:form>
- </tr:panelPartialRoot>
+ <f:facet name="header">Discs</f:facet>
+ <tr:form>
+ <tr:table value="#{discs.dataModel}" var="disc" rows="#{discs.maxResults}">
+ <tr:column sortable="true" sortProperty="disc.name">
+ <f:facet name="header">
+ Name
+ </f:facet>
+ <s:link action="disc">
+ <tr:outputText value="#{disc.name}" />
+ <f:param name="discId" value="#{disc.id}" />
+ </s:link>
+ </tr:column>
+ <tr:column>
+ <f:facet name="header">
+ Artist
+ </f:facet>
+ <tr:outputText value="#{disc.artist.name}" />
+ </tr:column>
+ <f:facet name="detailStamp">
+ <s:div style="width: 200px">
+ <s:formattedText value="#{disc.description}" rendered="#{not empty disc.description}" />
+ <tr:outputText value="None known" rendered="#{empty disc.description}" />
+ </s:div>
+ </f:facet>
+ </tr:table>
+ <tr:panelButtonBar rendered="#{identity.loggedIn}">
+ <s:button action="disc" value="Add disc">
+ <f:param name="discId" value="" />
+ </s:button>
+ </tr:panelButtonBar>
+ </tr:form>
</rich:panel>
</ui:define>
Modified: trunk/examples/seamdiscs/view/home.xhtml
===================================================================
--- trunk/examples/seamdiscs/view/home.xhtml 2008-02-03 00:04:21 UTC (rev 7338)
+++ trunk/examples/seamdiscs/view/home.xhtml 2008-02-03 00:21:37 UTC (rev 7339)
@@ -33,7 +33,7 @@
<f:facet name="header">
<tr:outputText value="Artists & Discs" />
</f:facet>
- <tr:panelPartialRoot>
+
<tr:form>
<tr:tree value="#{artistHome.tree}" var="var">
<f:facet name="nodeStamp">
@@ -51,7 +51,7 @@
</f:facet>
</tr:tree>
</tr:form>
- </tr:panelPartialRoot>
+
</rich:panel>
</ui:define>
16 years, 11 months