You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/04/12 08:24:01 UTC
svn commit: r1738697 - in /myfaces/tobago/branches/tobago-3.0.x:
tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/
tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/
tobago-example/...
Author: lofwyr
Date: Tue Apr 12 06:24:00 2016
New Revision: 1738697
URL: http://svn.apache.org/viewvc?rev=1738697&view=rev
Log:
TOBAGO-1544: Revise Demo Application for Tobago 3.0
[developed by hnoeth]
Added:
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/RoleController.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetController.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetSortingController.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetTreeController.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SuggestController.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/20-roles/
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/20-roles/roles.xhtml
Modified:
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/HtmlEditor.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Login.java
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/10-sort/sheet-sorting.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-column-event.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/50-filter/sheet-filter.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/sheet-tree.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml
myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/style/tobago.css
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/HtmlEditor.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/HtmlEditor.java?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/HtmlEditor.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/HtmlEditor.java Tue Apr 12 06:24:00 2016
@@ -37,11 +37,11 @@ public class HtmlEditor implements Seria
public HtmlEditor() {
ckeditorAvailable = ResourceManagerUtils.getScripts(
FacesContext.getCurrentInstance(),
- "content/35-wysiwyg/01-ckeditor/ckeditor/ckeditor.js")
+ "content/20-component/110-wysiwyg/01-ckeditor/ckeditor/ckeditor.js")
.size() != 0;
tinymceAvailable = ResourceManagerUtils.getScripts(
FacesContext.getCurrentInstance(),
- "content/35-wysiwyg/00-tinymce/tinymce/js/tinymce/tinymce.min.js")
+ "content/20-component/110-wysiwyg/00-tinymce/tinymce/js/tinymce/tinymce.min.js")
.size() != 0;
text = "<h1>Sonne</h1>"
+ "<p>Die Sonne ist ein Stern in der Galaxie MilchstraÃe.</p>";
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Login.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Login.java?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Login.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Login.java Tue Apr 12 06:24:00 2016
@@ -1,3 +1,22 @@
+/*
+ * 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.
+ */
+
package org.apache.myfaces.tobago.example.demo;
import org.slf4j.Logger;
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/RoleController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/RoleController.java?rev=1738697&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/RoleController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/RoleController.java Tue Apr 12 06:24:00 2016
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import javax.annotation.security.RolesAllowed;
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Named;
+import java.io.Serializable;
+
+@SessionScoped
+@Named
+public class RoleController implements Serializable {
+
+ private String guestString;
+ private String adminString;
+ private static final String OUTCOME_ADMIN = "admin";
+
+ public String getGuestString() {
+ return guestString;
+ }
+
+ public void setGuestString(String guestString) {
+ this.guestString = guestString;
+ }
+
+ @RolesAllowed({"admin"})
+ public String getAdminString() {
+ return adminString;
+ }
+
+ @RolesAllowed({"admin"})
+ public void setAdminString(String adminString) {
+ this.adminString = adminString;
+ }
+
+ @RolesAllowed({"admin"})
+ public String admin() {
+ return OUTCOME_ADMIN;
+ }
+}
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetController.java?rev=1738697&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetController.java Tue Apr 12 06:24:00 2016
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.example.data.SolarObject;
+import org.apache.myfaces.tobago.model.SheetState;
+import org.apache.myfaces.tobago.util.ComponentUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIData;
+import javax.faces.event.ActionEvent;
+import javax.inject.Named;
+import java.io.Serializable;
+import java.util.List;
+
+@SessionScoped
+@Named
+public class SheetController implements Serializable {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SheetController.class);
+
+ private List<SolarObject> solarList;
+ private SheetState sheetState;
+ private SolarObject selectedSolarObject;
+
+ public SheetController() {
+ solarList = SolarObject.getList();
+ }
+
+ public List<SolarObject> getSolarList() {
+ return solarList;
+ }
+
+ public SheetState getSheetState() {
+ return sheetState;
+ }
+
+ public void setSheetState(SheetState sheetState) {
+ this.sheetState = sheetState;
+ }
+
+ public void selectSolarObject(final ActionEvent actionEvent) {
+ LOG.info("actionEvent=" + actionEvent);
+ final UIData data = ComponentUtils.findAncestor(actionEvent.getComponent(), UIData.class);
+ if (data != null) {
+ selectedSolarObject = (SolarObject) data.getRowData();
+ LOG.info("Selected: " + selectedSolarObject.getName());
+ } else {
+ selectedSolarObject = null;
+ LOG.info("Deselect.");
+ }
+ }
+
+ public String getSelectedSolarObject() {
+ if (selectedSolarObject != null) {
+ return selectedSolarObject.getName();
+ } else {
+ return "Nothing selected";
+ }
+ }
+
+ public int getNumberOfSelections() {
+ return sheetState.getSelectedRows().size();
+ }
+
+ public int getSelectedRowNumber() {
+ if (sheetState.getSelectedRows().size() <= 0) {
+ return -1;
+ } else {
+ return sheetState.getSelectedRows().get(0);
+ }
+ }
+}
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetSortingController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetSortingController.java?rev=1738697&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetSortingController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetSortingController.java Tue Apr 12 06:24:00 2016
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.component.UISheet;
+import org.apache.myfaces.tobago.event.SortActionEvent;
+import org.apache.myfaces.tobago.example.data.SolarObject;
+import org.apache.myfaces.tobago.model.SheetState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.enterprise.context.SessionScoped;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import javax.inject.Named;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+@SessionScoped
+@Named
+public class SheetSortingController extends SheetController implements Serializable {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SheetSortingController.class);
+
+ public void sheetSorter(final ActionEvent event) {
+ if (event instanceof SortActionEvent) {
+ final SortActionEvent sortEvent = (SortActionEvent) event;
+ final UISheet sheet = (UISheet) sortEvent.getComponent();
+ final SheetState sheetState = sheet.getSheetState(FacesContext.getCurrentInstance());
+ final List<SolarObject> list = (List<SolarObject>) sheet.getValue();
+ sheetSorter(sheetState, list);
+ }
+ }
+
+ private void sheetSorter(final SheetState sheetState, final List<SolarObject> list) {
+ final String columnId = sheetState.getSortedColumnId();
+
+ LOG.info("Sorting column '{}'", columnId);
+
+ Comparator<SolarObject> comparator = null;
+
+ if ("namecol".equals(columnId)) {
+ comparator = new Comparator<SolarObject>() {
+ @Override
+ public int compare(final SolarObject o1, final SolarObject o2) {
+ return o1.getName().compareToIgnoreCase(o2.getName());
+ }
+ };
+ } else if ("periodcol".equals(columnId)) {
+ comparator = new Comparator<SolarObject>() {
+ @Override
+ public int compare(final SolarObject o1, final SolarObject o2) {
+ Double period1 = Math.abs(o1.getPeriod());
+ Double period2 = Math.abs(o2.getPeriod());
+ return period1.compareTo(period2);
+ }
+ };
+ } else if ("yearcol".equals(columnId)) {
+ comparator = new Comparator<SolarObject>() {
+ @Override
+ public int compare(final SolarObject o1, final SolarObject o2) {
+ Integer discoverYear1 = o1.getDiscoverYear() != null ? o1.getDiscoverYear() : 0;
+ Integer discoverYear2 = o2.getDiscoverYear() != null ? o2.getDiscoverYear() : 0;
+ return discoverYear1.compareTo(discoverYear2);
+ }
+ };
+ }
+
+ Collections.sort(list, comparator);
+ if (!sheetState.isAscending()) {
+ Collections.reverse(list);
+ }
+ }
+}
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetTreeController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetTreeController.java?rev=1738697&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetTreeController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetTreeController.java Tue Apr 12 06:24:00 2016
@@ -0,0 +1,23 @@
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.myfaces.tobago.example.data.SolarObject;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Named;
+import javax.swing.tree.DefaultMutableTreeNode;
+import java.io.Serializable;
+
+@RequestScoped
+@Named
+public class SheetTreeController implements Serializable {
+
+ private DefaultMutableTreeNode solarTree;
+
+ public SheetTreeController() {
+ solarTree = SolarObject.getTree();
+ }
+
+ public DefaultMutableTreeNode getSolarTree() {
+ return solarTree;
+ }
+}
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SuggestController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SuggestController.java?rev=1738697&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SuggestController.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SuggestController.java Tue Apr 12 06:24:00 2016
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+package org.apache.myfaces.tobago.example.demo;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.myfaces.tobago.example.data.LocaleList;
+import org.apache.myfaces.tobago.model.SuggestFilter;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIInput;
+import javax.inject.Named;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+@SessionScoped
+@Named
+public class SuggestController implements Serializable {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SuggestController.class);
+ private String suggestInput;
+
+ public String getSuggestInput() {
+ return suggestInput;
+ }
+
+ public void setSuggestInput(String suggestInput) {
+ this.suggestInput = suggestInput;
+ }
+
+ public List<String> getInputSuggestItems(final UIInput component) {
+ String substring = (String) component.getSubmittedValue();
+ if (substring == null) {
+ substring = "";
+ }
+ LOG.info("Creating items for substring: '" + substring + "'");
+ final List<String> result = new ArrayList<String>();
+ for (final String name : LocaleList.COUNTRY_LANGUAGE) {
+ if (StringUtils.containsIgnoreCase(name, substring)) {
+ result.add(name);
+ }
+ if (result.size() > 100) { // this value should not be smaller than the value of the suggest control
+ break;
+ }
+ }
+ return result;
+ }
+
+ public SuggestFilter getFilter() {
+ return SuggestFilter.PREFIX;
+ }
+
+ public List<String> getCountryLanguageList(final UIInput component) {
+ return LocaleList.COUNTRY_LANGUAGE;
+ }
+}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/10-sort/sheet-sorting.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/10-sort/sheet-sorting.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/10-sort/sheet-sorting.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/10-sort/sheet-sorting.xhtml Tue Apr 12 06:24:00 2016
@@ -22,7 +22,10 @@
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:param name="title" value="#{overviewBundle.sheet_sorting} <tc:sheet>"/>
- <p>Sorting can be enabled via the <code>sortActionListener</code> attribute, which is set in the sheet.</p>
+ <p>Sorting can be enable via the <code>sortable</code> attribute in the
+ <code class="language-markup"><tc:column/></code>.
+ A custom sorting implementation can be set in the <code>sortActionListener</code> attribute in the
+ <code class="language-markup"><tc:sheet/></code>.</p>
<p>Tag Library Documentation:
<tc:link label="<tc:sheet/>" image="image/feather-leaf.png"
link="#{overviewBundle.tagDocUrl}/sheet.html"/>
@@ -30,15 +33,36 @@
<tc:link label="<tc:column/>" image="image/feather-leaf.png"
link="#{overviewBundle.tagDocUrl}/column.html"/></p>
- <tc:section label="Sorting">
- <p>All columns in this sheet can be sorted.</p>
+ <tc:section label="Basics">
+ <p>In this example, the <code>sortable</code> attribute is 'true' for all columns.
+ Notice, that there are negative periods.</p>
+ <pre><code class="language-markup"><tc:column label="Name" sortable="true"></code></pre>
+ <tc:sheet id="s1" value="#{sheetSortingController.solarList}" var="solarobject" rows="4">
+ <tc:column label="Name" sortable="true">
+ <tc:out value="#{solarobject.name}"/>
+ </tc:column>
+ <tc:column label="Period (Days)" sortable="true">
+ <tc:out value="#{solarobject.period}"/>
+ </tc:column>
+ <tc:column label="Discovery Year" sortable="true">
+ <tc:out value="#{solarobject.discoverYear}"/>
+ </tc:column>
+ </tc:sheet>
+ </tc:section>
+
+ <tc:section label="Custom Sorting">
+ <p>All columns in this sheet can be sorted. A custom sorting implementation is set.
+ Now, the sign for period numbers is ignored by sorting.</p>
+
<pre><code class="language-markup"><tc:sheet value="\#{sheetController.solarList}"
var="solarobject" rows="4"
- sortActionListener="\#{sheetController.sheetSorter}"></code></pre>
- <p>In addition, the columns must be sortable and have an id.</p>
- <pre><code class="language-markup"><tc:column id="namecol" label="Name" sortable="true"></code></pre>
- <tc:sheet id="s3" value="#{sheetController.solarList}" var="solarobject" rows="4"
- sortActionListener="#{sheetController.sheetSorter}">
+ sortActionListener="\#{sheetController.sheetSorter}">
+ <tc:column id="namecol" label="Name" sortable="true">
+ ...
+ </code></pre>
+
+ <tc:sheet id="s2" value="#{sheetSortingController.solarList}" var="solarobject" rows="4"
+ sortActionListener="#{sheetSortingController.sheetSorter}">
<tc:column id="namecol" label="Name" sortable="true">
<tc:out value="#{solarobject.name}"/>
</tc:column>
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-column-event.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-column-event.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-column-event.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/30-event/sheet-column-event.xhtml Tue Apr 12 06:24:00 2016
@@ -22,7 +22,7 @@
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
- <ui:param name="title" value="#{overviewBundle.sheet_master_detail} <tc:columnEvent>"/>
+ <ui:param name="title" value="#{overviewBundle.sheet_column_event} <tc:columnEvent>"/>
<p>A <code class="language-markup"><tc:sheet/></code> can contain a
<code class="language-markup"><tc:columnEvent/></code> tag, which knows two types of events.
The eventtype can be set by the <code>event</code> attribute. Possible values are 'click' and 'dblclick'.
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/50-filter/sheet-filter.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/50-filter/sheet-filter.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/50-filter/sheet-filter.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/50-filter/sheet-filter.xhtml Tue Apr 12 06:24:00 2016
@@ -22,7 +22,7 @@
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns="http://www.w3.org/1999/xhtml">
- <ui:param name="title" value="#{overviewBundle.sheet}"/>
+ <ui:param name="title" value="#{overviewBundle.sheet_filter}"/>
<tc:panel>
<f:facet name="layout">
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/sheet-tree.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/sheet-tree.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/sheet-tree.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/70-tree/sheet-tree.xhtml Tue Apr 12 06:24:00 2016
@@ -18,56 +18,52 @@
-->
<ui:composition template="/main.xhtml"
+ xmlns="http://www.w3.org/1999/xhtml"
xmlns:tc="http://myfaces.apache.org/tobago/component"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:f="http://java.sun.com/jsf/core">
- <ui:param name="title" value="#{overviewBundle.sheet}"/>
+ xmlns:ui="http://java.sun.com/jsf/facelets">
+ <ui:param name="title" value="#{overviewBundle.sheet_tree} <tc:columnNode/>"/>
+ <p>A tree can be added into a sheet. To do so, there are two steps which must be done.
+ First, the <code>value</code> attribute of the sheet must refer to a method, which return a tree instead of a list.
+ Second, to display the tree, use the <code class="language-markup"><tc:columnNode/></code> tag.</p>
- <tc:panel>
- <f:facet name="layout">
- <tc:gridLayout rows="1*;5*"/>
- </f:facet>
+ <p>Tag Library Documentation:
+ <tc:link label="<tc:sheet/>" image="image/feather-leaf.png"
+ link="#{overviewBundle.tagDocUrl}/sheet.html"/>
+ |
+ <tc:link label="<tc:columnNode/>" image="image/feather-leaf.png"
+ link="#{overviewBundle.tagDocUrl}/columnNode.html"/></p>
- <tc:out value="Tree Table"/>
-
- <tc:sheet value="#{demo.solarTree}" id="sheet"
- columns="3*;2*;30px;2*;2*;2*;2*;2*;2*" var="luminary"
- state="#{demo.sheetTreeState}"
- showRoot="true"
- showRootJunction="true"
- showRowRange="left"
- showPageRange="right"
- showDirectLinks="center">
-
- <tc:columnNode id="name">
+ <tc:section label="Column Tree">
+ <p>There is a tree in the first column. You can expand and collapse the items.
+ The <code class="language-markup"><tc:columnNode/></code> tag can contain several tags for a tree.
+ In this example, it's a <code class="language-markup"><tc:treeIndent/></code> to intent the
+ single entries of the tree.</p>
+ <pre><code class="language-markup"><tc:sheet value="\#{sheetTreeController.solarTree}"
+ var="solarObject" showRoot="true" showRootJunction="true">
+ <tc:columnNode label="Name">
+ <tc:treeIndent/>
+ <tc:out value="\#{solarObject.userObject.name}"/>
+ ...</code></pre>
+ <tc:sheet value="#{sheetTreeController.solarTree}" var="solarObject" showRoot="true" showRootJunction="true">
+ <tc:columnNode label="Name">
<tc:treeIndent/>
- <tc:out value="#{luminary.userObject.name}" id="t_name"/>
+ <tc:out value="#{solarObject.userObject.name}"/>
</tc:columnNode>
- <tc:column id="orbit" label="#{overviewBundle.solarArrayOrbit}">
- <tc:out value="#{luminary.userObject.orbit}" id="t_orbit"/>
- </tc:column>
- <tc:column id="number" resizable="false"
- tip="#{overviewBundle.solarArrayNumberTip}" align="center">
- <tc:out value="#{luminary.userObject.number}" id="t_number"/>
- </tc:column>
- <tc:column align="right" id="distance">
- <tc:out value="#{luminary.userObject.distance}" id="t_distance"/>
- </tc:column>
- <tc:column label="#{overviewBundle.solarArrayPeriod}" align="right" id="period">
- <tc:out value="#{luminary.userObject.period}" id="t_period"/>
+ <tc:column label="Central Body">
+ <tc:out value="#{solarObject.userObject.orbit}"/>
</tc:column>
- <tc:column align="right" id="incl">
- <tc:out value="#{luminary.userObject.incl}" id="t_incl"/>
+ <tc:column label="Distance" sortable="true">
+ <tc:out value="#{solarObject.userObject.distance}"/>
</tc:column>
- <tc:column align="right" id="eccen">
- <tc:out value="#{luminary.userObject.eccen}" id="t_eccen"/>
+ <tc:column label="Period" sortable="true">
+ <tc:out value="#{solarObject.userObject.period}"/>
</tc:column>
- <tc:column id="discoverer">
- <tc:out value="#{luminary.userObject.discoverer}" id="t_discoverer"/>
+ <tc:column label="Discoverer">
+ <tc:out value="#{solarObject.userObject.discoverer}"/>
</tc:column>
- <tc:column align="center" id="discoverYear">
- <tc:out value="#{luminary.userObject.discoverYear}" id="t_discoverYear"/>
+ <tc:column label="Year" sortable="true">
+ <tc:out value="#{solarObject.userObject.discoverYear}"/>
</tc:column>
</tc:sheet>
- </tc:panel>
+ </tc:section>
</ui:composition>
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/080-sheet/sheet.xhtml Tue Apr 12 06:24:00 2016
@@ -25,7 +25,7 @@
<p>A <code class="language-markup"><tc:sheet/></code> tag can contain any number of
<code class="language-markup"><tc:column/></code> tags.
The <code class="language-markup"><tc:column/></code> tag is a container, which may contain
- outputfields, progress bars or even tab groups.</p>
+ outputfields, labels, progress bars or even tab groups.</p>
<p>Tag Library Documentation:
<tc:link label="<tc:sheet/>" image="image/feather-leaf.png"
link="#{overviewBundle.tagDocUrl}/sheet.html"/>
@@ -35,17 +35,16 @@
<tc:section label="Basics">
<p>Two attributes should be recognized in a sheet.
- The date of the sheet is set in the <code>value</code> attribute.
+ The data of the sheet is set in the <code>value</code> attribute.
The variablename of a single entry is set by the <code>var</code> attribute, which can be used in the
<code class="language-markup"><tc:column/></code> tags.
- In this example, also the <code>rows</code> attribute is set. So only four rows are shown at a time.
- Only outputfields are used to display the data.</p>
+ In this example, also the <code>rows</code> attribute is set. So only four rows are shown at a time.</p>
<pre><code class="language-markup"><tc:sheet value="\#{sheetController.solarList}"
var="solarobject" rows="4">
<tc:column label="Name">
<tc:out value="\#{solarobject.name}"/>
...</code></pre>
- <tc:sheet columns="3*;2*;3*;*;*" id="s1" value="#{sheetController.solarList}" var="solarobject" rows="4">
+ <tc:sheet id="s1" value="#{sheetController.solarList}" var="solarobject" rows="4">
<tc:style maxHeight="500px"/>
<tc:column label="Name">
<tc:out value="#{solarobject.name}"/>
@@ -64,4 +63,8 @@
</tc:column>
</tc:sheet>
</tc:section>
+
+ <tc:section label="Static Header">
+
+ </tc:section>
</ui:composition>
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/00-tinymce/tinymce.xhtml Tue Apr 12 06:24:00 2016
@@ -24,11 +24,11 @@
xmlns="http://www.w3.org/1999/xhtml">
<ui:param name="title" value="TinyMCE integration"/>
- <tc:script file="content/35-wysiwyg/00-tinymce/tinymce/js/tinymce/tinymce.min.js"/>
+ <tc:script file="content/20-component/110-wysiwyg/00-tinymce/tinymce/js/tinymce/tinymce.min.js"/>
<!--
- <tc:script file="content/35-wysiwyg/00-tinymce/tinymce/js/tinymce/jquery.tinymce.min.js"/>
+ <tc:script file="content/20-component/110-wysiwyg/00-tinymce/tinymce/js/tinymce/jquery.tinymce.min.js"/>
-->
- <tc:script file="content/35-wysiwyg/00-tinymce/tinymce.js"/>
+ <tc:script file="content/20-component/110-wysiwyg/00-tinymce/tinymce.js"/>
<tc:panel>
<f:facet name="layout">
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/110-wysiwyg/01-ckeditor/ckeditor.xhtml Tue Apr 12 06:24:00 2016
@@ -24,8 +24,8 @@
xmlns="http://www.w3.org/1999/xhtml">
<ui:param name="title" value="CKEditor integration"/>
- <tc:script file="content/35-wysiwyg/01-ckeditor/ckeditor/ckeditor.js"/>
- <tc:script file="content/35-wysiwyg/01-ckeditor/demo-ckeditor.js"/>
+ <tc:script file="content/20-component/110-wysiwyg/01-ckeditor/ckeditor/ckeditor.js"/>
+ <tc:script file="content/20-component/110-wysiwyg/01-ckeditor/demo-ckeditor.js"/>
<tc:panel>
<f:facet name="layout">
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/20-roles/roles.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/20-roles/roles.xhtml?rev=1738697&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/20-roles/roles.xhtml (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/20-roles/roles.xhtml Tue Apr 12 06:24:00 2016
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ * 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.
+-->
+
+<ui:composition template="/main.xhtml"
+ xmlns:tc="http://myfaces.apache.org/tobago/component"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <ui:param name="title" value="Roles"/>
+
+ TODO
+
+ <tc:section label="Guest">
+ <p>This section should be visible for all.</p>
+
+ <tc:in label="Guest Input" value="#{roleController.guestString}"/>
+ <tc:out label="Guest Output" value="#{roleController.guestString}"/>
+ <tc:button label="Submit"/>
+ </tc:section>
+
+ <tc:section label="Admin">
+ <p>This section can only be used by an admin.</p>
+ <tc:in label="Admin Input" value="#{roleController.adminString}"/>
+ <tc:out label="Admin Output" value="#{roleController.adminString}"/>
+ <tc:button label="The admin button"/>
+ </tc:section>
+</ui:composition>
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/webapp/tobago-resource/html/standard/standard/property/overview.properties.xml Tue Apr 12 06:24:00 2016
@@ -73,7 +73,14 @@
<entry key="tab_ajax">Ajax</entry>
<entry key="tab_server">Server sided</entry>
<entry key="sheet">Sheet Control</entry>
- <entry key="sheet_master_detail">Column Event</entry>
+ <entry key="sheet_column_content">Column Content</entry>
+ <entry key="sheet_sorting">Sorting</entry>
+ <entry key="sheet_column_selector">Column Selector</entry>
+ <entry key="sheet_column_event">Column Event</entry>
+ <entry key="sheet_dropdown">Dropdown Box</entry>
+ <entry key="sheet_filter">Filtering</entry>
+ <entry key="sheet_header">Header</entry>
+ <entry key="sheet_tree">Column Tree</entry>
<entry key="tree">Tree Control</entry>
<entry key="tree_command_types">Command</entry>
<entry key="tree_select">Select</entry>
@@ -81,10 +88,11 @@
<entry key="tree_menu">Tree Menu</entry>
<entry key="tree_listbox">Tree List</entry>
<entry key="upload">File Upload</entry>
+ <entry key="wysiwyg_editor">WYSIWYG Editor</entry>
+ <entry key="tinymce">TinyMCE</entry>
+ <entry key="ckeditor">CKEditor</entry>
- <entry key="tree-editor">Editor</entry>
- <entry key="tree-command-types">Command Types</entry>
<entry key="validation">Validation</entry>
<entry key="validation-severity">Severity</entry>
<entry key="form">Forms</entry>
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/style/tobago.css
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/style/tobago.css?rev=1738697&r1=1738696&r2=1738697&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/style/tobago.css (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/style/tobago.css Tue Apr 12 06:24:00 2016
@@ -319,12 +319,21 @@ h6 > .fa:first-child {
margin-right: 0.7em;
}
+/* selectBooleanCheckbox ----------------------------------------------- */
+.tobago-selectBooleanCheckbox input {
+ margin-right: 6px;
+}
+
/* selectManyCheckbox ----------------------------------------------------------- */
.tobago-selectManyCheckbox {
list-style: none;
}
+.tobago-selectManyCheckbox input {
+ margin-right: 6px;
+}
+
/* selectManyShuttle ----------------------------------------------------------- */
.tobago-selectManyShuttle {
@@ -365,6 +374,10 @@ h6 > .fa:first-child {
list-style: none;
}
+.tobago-selectOneRadio input {
+ margin-right: 6px;
+}
+
/* segmentLayout ----------------------------------------------------------- */
.tobago-segmentLayout {
@@ -377,6 +390,28 @@ h6 > .fa:first-child {
*/
}
+/* separator -------------------------------------------------------------- */
+hr.tobago-separator {
+ border-top: 1px solid #e5e5e5;
+}
+
+fieldset.tobago-separator {
+ border-top: 1px solid #e5e5e5;
+ border-bottom: none;
+ border-left: none;
+ border-right: none;
+ display: block;
+ margin: 1rem 0rem;
+}
+
+fieldset.tobago-separator legend {
+ width: initial;
+ margin-left: 25px;
+ padding-left: 10px;
+ padding-right: 10px;
+ font-size: 12pt;
+}
+
/* sheet -------------------------------------------------------------- */
.tobago-sheet {