Split assembly for service and cms config
[gpl/argeo-suite.git] / org.argeo.suite.apps.web / META-INF / spring / ui-commons.xml
diff --git a/org.argeo.suite.apps.web/META-INF/spring/ui-commons.xml b/org.argeo.suite.apps.web/META-INF/spring/ui-commons.xml
new file mode 100644 (file)
index 0000000..963836d
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
+
+       <!-- COMMON UI PARTS -->
+       <util:list id="headerEnd">
+               <bean class="org.argeo.cms.util.UserMenuLink" p:vAlign="bottom" />
+       </util:list>
+
+       <!-- TEMPLATES -->
+       <bean id="menuLink" abstract="true" class="org.argeo.cms.util.MenuLink"
+               init-method="init">
+               <property name="bundleContext" ref="bundleContext" />
+       </bean>
+
+       <bean name="app" class="org.argeo.cms.util.SimpleApp" abstract="true">
+               <property name="headerHeight" value="40" />
+               <property name="repository" ref="repository" />
+               <property name="bundleContext" ref="bundleContext" />
+               <property name="jcrBasePath" value="/public" /> 
+       </bean>
+
+       <bean id="header" class="org.argeo.cms.util.SimpleCmsHeader"
+               abstract="true">
+               <property name="end" ref="headerEnd" />
+       </bean>
+
+       <!-- Switch header depending on client type and logged in status -->
+       <bean id="headerManager" class="org.argeo.suite.web.DynamicHeader">
+               <property name="privateHeaderProvider" ref="privateHeader" />
+               <property name="publicHeaderProvider" ref="publicHeader" />
+       </bean>
+
+       <bean id="privateHeader" class="org.argeo.cms.util.SimpleCmsHeader">
+               <property name="center">
+                       <list>
+                               <bean p:label="Dashboard" p:target="/#" parent="menuLink" />
+                               <bean p:label="Contacts" p:target="/#/people" parent="menuLink" />
+                               <bean p:label="Files" p:target="/#/sharedFiles" parent="menuLink" />
+                       </list>
+               </property>
+               <property name="end" ref="headerEnd" />
+       </bean>
+
+       <bean id="publicHeader" class="org.argeo.cms.util.SimpleCmsHeader">
+               <property name="end" ref="headerEnd" />
+       </bean>
+</beans>