Platform Explorer / Nuxeo Platform LTS 2015 7.10

Component org.nuxeo.theme.nuxeo.webapp

Services

Extension points

Contributions

XML source

<?xml version="1.0"?>

<component name="org.nuxeo.theme.nuxeo.webapp">

  <extension target="org.nuxeo.ecm.platform.WebResources" point="resources">

    <!-- JSF resources -->
    <resource name="jsf.js" type="jsfjs" target="bodystart">
      <uri>javax.faces:jsf.js</uri>
    </resource>
    <resource name="fixjsfviewstate.js" type="jsfjs" target="bodystart">
      <uri>org.nuxeo.jsf:fixviewstate.min.js</uri>
      <require>jsf.js</require>
    </resource>
    <resource name="fixmultipartajax.js" type="jsfjs" target="bodystart">
      <uri>org.nuxeo.jsf:fixmultipartajax.min.js</uri>
      <require>jsf.js</require>
    </resource>
    <resource name="richfaces-jquery.js" type="jsfjs" target="bodystart">
      <uri>org.richfaces:jquery.js</uri>
    </resource>
    <resource name="richfaces.js" type="jsfjs" target="bodystart">
      <uri>org.richfaces:richfaces.js</uri>
      <require>jsf.js</require>
    </resource>
    <resource name="richfaces-queue.js" type="jsfjs" target="bodystart">
      <uri>org.richfaces:richfaces-queue.js</uri>
      <require>richfaces.js</require>
    </resource>
    <resource name="richfaces-base-component.js" type="jsfjs" target="bodystart">
      <uri>org.richfaces:richfaces-base-component.js</uri>
      <require>richfaces.js</require>
    </resource>
    <resource name="richfaces-fileupload.ecss" type="jsfcss" target="bodystart">
      <uri>org.richfaces:fileupload.ecss</uri>
      <require>richfaces.js</require>
    </resource>
    <resource name="richfaces-fileupload.js" type="jsfjs" target="bodystart">
      <uri>org.richfaces:fileupload.js</uri>
      <require>richfaces-fileupload.ecss</require>
      <require>richfaces.js</require>
    </resource>
    <resource name="widget-utils.js" type="jsfjs">
      <uri>org.nuxeo:widget-utils.min.js</uri>
      <require>richfaces-queue.js</require>
    </resource>
    <resource name="select2.js" type="jsfjs">
      <uri>org.nuxeo.select2:select2.min.js</uri>
      <require>widget-utils.js</require>
    </resource>

    <!-- Seam 1.0.1.GA -->
    <resource name="seam-remote.js">
      <uri>/scripts/seam-remote.js</uri>
    </resource>

    <resource name="static-styles.css">
      <uri>/css/static-styles.css</uri>
    </resource>
    <resource name="screen.css">
      <uri>/css/screen.css</uri>
    </resource>
    <resource name="foldable-box.js">
      <uri>/scripts/foldable-box.js</uri>
    </resource>
    <resource name="utils.js">
      <uri>/scripts/utils.js</uri>
    </resource>
    <resource name="tableSelections.js">
      <uri>/scripts/tableSelections.js</uri>
    </resource>
    <resource name="contextmenu.js">
      <uri>/scripts/contextmenu.js</uri>
    </resource>
    <resource name="DragAndDrop.js">
      <uri>/scripts/DragAndDrop.js</uri>
    </resource>
    <resource name="hideableAdminMessage.js">
      <uri>/scripts/hideableAdminMessage.js</uri>
    </resource>
    <!-- jquery cookie plugin -->
    <resource name="jquery.tools.cookie.js">
      <uri>/scripts/jquery/cookie.js</uri>
    </resource>
    <!-- Fancybox -->
    <resource name="jquery.fancybox.js">
      <uri>/scripts/jquery/jquery.fancybox.js</uri>
    </resource>
    <resource name="jquery.fancybox.style.css">
      <uri>/css/jquery.fancybox.css</uri>
    </resource>
    <resource name="fancybox-popup-utils.js">
      <uri>/scripts/fancybox-popup-utils.js</uri>
    </resource>
    <!-- Hotkeys (e.g. used to focus the search box using '/') -->
    <resource name="jquery.hotkeys.js">
      <uri>/scripts/jquery/jquery.hotkeys.js</uri>
    </resource>
    <!-- Helpers for focus on first input of a form -->
    <resource name="jquery.tools.focusfirst.js">
      <uri>/scripts/jquery/jquery.tools.focusfirst.js</uri>
    </resource>
    <!-- Workaround for jQuery and Sarissa library conflict on IE -->
    <resource name="sarissa-ie-workaround.js">
      <uri>/scripts/sarissa-ie-workaround.js</uri>
    </resource>
    <!-- Mustache -->
    <resource name="mustache.js">
      <uri>/scripts/mustache/mustache.js</uri>
    </resource>
    <!-- Simple Access Key helper -->
    <resource name="accessKey.js">
      <uri>/scripts/accessKey.js</uri>
    </resource>
    <!-- Moment.js -->
    <resource name="moment.js">
      <uri>/scripts/moment.min-1.5.0nx.js</uri>
    </resource>
    <!-- jquery-ui resources: order plugins according to their dependencies. -->
    <resource name="jquery.ui.core.js">
      <uri>/scripts/jquery/jquery.ui.core.js</uri>
    </resource>
    <resource name="jquery.ui.widget.js">
      <uri>/scripts/jquery/jquery.ui.widget.js</uri>
    </resource>
    <resource name="jquery.ui.mouse.js">
      <uri>/scripts/jquery/jquery.ui.mouse.js</uri>
    </resource>
    <resource name="jquery.ui.sortable.js">
      <uri>/scripts/jquery/jquery.ui.sortable.js</uri>
      <require>jquery.ui.core.js</require>
      <require>jquery.ui.widget.js</require>
      <require>jquery.ui.mouse.js</require>
    </resource>
    <!-- Double click shield -->
    <resource name="jquery.nuxeo.doubleclickshield.js">
      <uri>/scripts/jquery.nuxeo.doubleclickshield.js</uri>
    </resource>
    <!-- jQuery Ambiance -->
    <resource name="jquery.ambiance.js">
      <uri>/scripts/jquery/jquery.ambiance.js</uri>
    </resource>
    <resource name="jquery.ambiance.css">
      <uri>/css/jquery.ambiance.css</uri>
    </resource>
    <resource name="jquery.nuxeo.dropdown.js">
      <uri>/scripts/jquery/jquery.nuxeo.dropdown.js</uri>
    </resource>
    <resource name="jquery.tipsy.js">
      <uri>/scripts/jquery/jquery.tipsy.js</uri>
      <require>tipsy.css</require>
    </resource>
    <resource name="tipsy.css">
      <uri>/css/tipsy.css</uri>
    </resource>
    <resource name="jquery.nuxeo.tipsy.js">
      <uri>/scripts/jquery.nuxeo.tipsy.js</uri>
      <require>jquery.tipsy.js</require>
    </resource>
    <resource name="jquery.nuxeo.tipsy.init.js">
      <uri>/scripts/jquery.nuxeo.tipsy.init.js</uri>
      <require>jquery.nuxeo.tipsy.js</require>
    </resource>
    <resource name="jquery.magnific-popup.js">
      <uri>/scripts/jquery/jquery.magnific-popup.js</uri>
    </resource>
    <resource name="magnific-popup.css">
      <uri>/css/magnific-popup.css</uri>
    </resource>
    <resource name="nuxeo-lightbox.js">
      <uri>/scripts/nuxeo-lightbox.js</uri>
    </resource>
    <resource name="jquery.nuxeo.cv-lightbox.js">
      <uri>/scripts/jquery.nuxeo.cv-lightbox.js</uri>
      <require>jquery.magnific-popup.js</require>
      <require>nuxeo-lightbox.js</require>
    </resource>
    <resource name="nuxeo-documents-import.js">
      <uri>/scripts/nuxeo-documents-import.js</uri>
    </resource>
    <resource name="nuxeo.js">
      <uri>/bower_components/nuxeo/lib/jquery/nuxeo.js</uri>
    </resource>
    <resource name="confirm-alerts.xhtml" type="xhtml">
      <uri>/incl/confirm-alerts.xhtml</uri>
    </resource>
    <resource name="DragAndDrop.js" type="js">
      <uri>/scripts/DragAndDrop.js</uri>
    </resource>
    <resource name="tableSelections.js" type="js">
      <uri>/scripts/tableSelections.js</uri>
    </resource>
    <resource name="customSeamRemotingWaiter.js" type="js">
      <uri>/scripts/customSeamRemotingWaiter.js</uri>
    </resource>
    <resource name="default-contextmenu-actions.js" type="js">
      <uri>/scripts/default-contextmenu-actions.js</uri>
    </resource>
    <resource name="safeEdit.xhtml" type="xhtml">
      <uri>/incl/safeEdit.xhtml</uri>
    </resource>
    <resource name="tinymce.xhtml" type="xhtml">
      <uri>/incl/tinymce.xhtml</uri>
      <require>richfaces-jquery.js</require>
      <require>safeEdit.xhtml</require>
    </resource>
    <resource name="konami.xhtml" type="xhtml">
      <uri>/incl/konami.xhtml</uri>
      <require>richfaces-jquery.js</require>
    </resource>
    <resource name="doubleClick_shield.xhtml" type="xhtml">
      <uri>/incl/doubleClick_shield.xhtml</uri>
      <require>richfaces-jquery.js</require>
    </resource>
    <resource name="layout_dev_init.xhtml" type="xhtml">
      <uri>/widgets/dev/layout_dev_init.xhtml</uri>
      <require>richfaces-jquery.js</require>
    </resource>
    <resource name="seam_remoting.xhtml" type="xhtml">
      <uri>/incl/seam_remoting.xhtml</uri>
      <require>seam-remote.js</require>
    </resource>
    <resource name="nuxeo_javascript_context.xhtml" type="xhtmlfirst">
      <uri>/incl/nuxeo_javascript_context.xhtml</uri>
    </resource>
    <resource name="automation.js">
      <uri>/scripts/automation.js</uri>
    </resource>

    <resource name="jquery-standalone.js">
      <uri>/scripts/jquery.js</uri>
    </resource>
    <!-- end of "static" resources declaration -->

    <!-- Sass styles -->
    <resource name="normalize.scss" type="css">
      <path>themes/sass/normalize.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="breadcrumb.scss" type="css">
      <path>themes/sass/breadcrumb.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="buttons_and_actions.scss" type="css">
      <path>themes/sass/buttons_and_actions.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="basics.scss" type="css">
      <path>themes/sass/basics.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="body.scss" type="css">
      <path>themes/sass/body.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="drag_and_drop.scss" type="css">
      <path>themes/sass/drag_and_drop.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="foldable_boxes.scss" type="css">
      <path>themes/sass/foldable_boxes.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="forms.scss" type="css">
      <path>themes/sass/forms.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="grids_and_widgets.scss" type="css">
      <path>themes/sass/grids_and_widgets.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="messages_and_tooltips.scss" type="css">
      <path>themes/sass/messages_and_tooltips.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="navigation.scss" type="css">
      <path>themes/sass/navigation.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="popups.scss" type="css">
      <path>themes/sass/popups.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="richfaces_components.scss" type="css">
      <path>themes/sass/richfaces_components.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="tables.scss" type="css">
      <path>themes/sass/tables.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="tabs_content.scss" type="css">
      <path>themes/sass/tabs_content.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="helpers.scss" type="css">
      <path>themes/sass/helpers.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="polymer.scss" type="css">
      <path>themes/sass/polymer.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="header.scss" type="css">
      <path>themes/sass/header.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="footer.scss" type="css">
      <path>themes/sass/footer.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="nuxeo_dm_specific.scss" type="css">
      <path>themes/sass/nuxeo_dm_specific.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <resource name="print_generic.scss" type="css">
      <path>themes/sass/print_generic.scss</path>
      <processors>
        <processor>sassCss</processor>
      </processors>
    </resource>
    <!-- end of resources declaration -->

  </extension>

  <extension target="org.nuxeo.ecm.platform.WebResources" point="bundles">

    <!-- main bundle with all basic includes -->
    <bundle name="nuxeo_includes">
      <resources>
        <resource>jsf.js</resource>
        <resource>fixjsfviewstate.js</resource>
        <resource>richfaces-jquery.js</resource>
        <resource>richfaces.js</resource>
        <resource>richfaces-queue.js</resource>
        <resource>richfaces-base-component.js</resource>
        <resource>richfaces-fileupload.js</resource>
        <resource>widget-utils.js</resource>
        <resource>select2.js</resource>
        <resource>seam-remote.js</resource>
        <resource>foldable-box.js</resource>
        <!-- include JS used for D&D and tableSelection -->
        <resource>utils.js</resource>
        <!-- include JS for contextual menu -->
        <resource>jquery.fancybox.js</resource>
        <resource>jquery.fancybox.style.css</resource>
        <resource>jquery.tools.cookie.js</resource>
        <resource>fancybox-popup-utils.js</resource>
        <resource>contextmenu.js</resource>
        <resource>jquery.tools.focusfirst.js</resource>
        <resource>jquery.hotkeys.js</resource>
        <resource>jquery.ui.sortable.js</resource>
        <resource>sarissa-ie-workaround.js</resource>
        <resource>static-styles.css</resource>
        <resource>hideableAdminMessage.js</resource>
        <resource>accessKey.js</resource>
        <resource>jquery.nuxeo.doubleclickshield.js</resource>
        <resource>jquery.ambiance.js</resource>
        <resource>jquery.ambiance.css</resource>
        <resource>jquery.nuxeo.dropdown.js</resource>
        <resource>jquery.nuxeo.tipsy.init.js</resource>
        <resource>jquery.magnific-popup.js</resource>
        <resource>magnific-popup.css</resource>
        <resource>nuxeo-lightbox.js</resource>
        <resource>jquery.nuxeo.cv-lightbox.js</resource>
        <resource>nuxeo-documents-import.js</resource>
        <resource>fixmultipartajax.js</resource>
        <resource>confirm-alerts.xhtml</resource>
        <resource>DragAndDrop.js</resource>
        <resource>tableSelections.js</resource>
        <resource>customSeamRemotingWaiter.js</resource>
        <resource>default-contextmenu-actions.js</resource>
        <resource>safeEdit.xhtml</resource>
        <resource>tinymce.xhtml</resource>
        <resource>konami.xhtml</resource>
        <resource>doubleClick_shield.xhtml</resource>
        <resource>layout_dev_init.xhtml</resource>
        <resource>seam_remoting.xhtml</resource>
        <resource>automation.js</resource>
        <resource>nuxeo_javascript_context.xhtml</resource>
        <resource>nuxeo.js</resource>
      </resources>
    </bundle>

    <!-- Sass styles  -->
    <bundle name="nuxeo_sassCss">
      <resources>
        <resource>normalize.scss</resource>
        <resource>basics.scss</resource>
        <resource>buttons_and_actions.scss</resource>
        <resource>body.scss</resource>
        <resource>grids_and_widgets.scss</resource>
        <resource>navigation.scss</resource>
        <resource>forms.scss</resource>
        <resource>messages_and_tooltips.scss</resource>
        <resource>foldable_boxes.scss</resource>
        <resource>tabs_content.scss</resource>
        <resource>helpers.scss</resource>
        <resource>tables.scss</resource>
        <resource>richfaces_components.scss</resource>
        <resource>popups.scss</resource>
        <resource>breadcrumb.scss</resource>
        <resource>drag_and_drop.scss</resource>
        <resource>header.scss</resource>
        <resource>footer.scss</resource>
        <resource>polymer.scss</resource>
      </resources>
    </bundle>

    <bundle name="nuxeo_base">
      <resources>
        <resource>screen.css</resource>
      </resources>
    </bundle>

    <bundle name="nuxeo_dm">
      <resources>
        <resource>nuxeo_dm_specific.scss</resource>
      </resources>
    </bundle>

    <!-- isolated jquery dep independent of JSF -->
    <bundle name="jquery">
      <resources>
        <resource>jquery-standalone.js</resource>
      </resources>
    </bundle>

  </extension>

  <!-- Register mapping between theme pages and resources -->
  <extension target="org.nuxeo.theme.styling.service" point="pages">

    <page name="galaxy/print" charset="utf-8">
      <defaultFlavor>default</defaultFlavor>
      <flavors>
        <flavor>default</flavor>
        <flavor>rainbow</flavor>
      </flavors>
      <resources>
        <bundle>nuxeo_includes</bundle>
        <bundle>nuxeo_base</bundle>
        <bundle>nuxeo_sassCss</bundle>
        <resource>print_generic.scss</resource>
      </resources>
    </page>

    <page name="galaxy/popup" charset="utf-8">
      <defaultFlavor>default</defaultFlavor>
      <flavors>
        <flavor>default</flavor>
        <flavor>rainbow</flavor>
      </flavors>
      <resources>
        <bundle>nuxeo_includes</bundle>
        <bundle>nuxeo_base</bundle>
        <bundle>nuxeo_sassCss</bundle>
        <bundle>nuxeo_dm</bundle>
      </resources>
    </page>

    <page name="galaxy/default" charset="utf-8">
      <defaultFlavor>default</defaultFlavor>
      <flavors>
        <flavor>default</flavor>
        <flavor>rainbow</flavor>
      </flavors>
      <resources>
        <bundle>nuxeo_includes</bundle>
        <bundle>nuxeo_base</bundle>
        <bundle>nuxeo_sassCss</bundle>
        <bundle>nuxeo_dm</bundle>
      </resources>
    </page>

  </extension>

  <!-- Register flavors (collections of presets) -->
  <extension target="org.nuxeo.theme.styling.service" point="flavors">

    <flavor name="default">
      <label>label.theme.flavor.nuxeo.default</label>
      <logo>
        <path>/img/nuxeo_logo.png</path>
        <previewPath>/img/nuxeo_preview_logo_black.png</previewPath>
        <width>113</width>
        <height>20</height>
        <title>Nuxeo</title>
      </logo>
      <links>
        <icon name="icon">/icons/favicon.png</icon>
        <icon name="shortcut icon">/icons/favicon.ico</icon>
      </links>
      <presetsList>
        <presets category="border" src="themes/palettes/default-borders.properties" />
        <presets category="background"
          src="themes/palettes/default-backgrounds.properties" />
        <presets category="font" src="themes/palettes/default-fonts.properties" />
        <presets category="color" src="themes/palettes/default-colors.properties" />
      </presetsList>
      <palettePreview>
        <colors>
          <color>#17384e</color>
          <color>#00adff</color>
          <color>#00adff</color>
          <color>#00adff</color>
          <color>#fff</color>
          <color>#00adff</color>
          <color>#404040</color>
          <color>#cfecff</color>
          <color>#e6f1ff</color>
        </colors>
      </palettePreview>
      <sass>
        <import src="themes/palettes/common_variables.scss" />
        <import src="themes/palettes/default_variables.scss" />
      </sass>
    </flavor>

    <flavor name="rainbow">
      <label>label.theme.flavor.nuxeo.rainbow</label>
      <logo>
        <path>/img/nuxeo_logo.png</path>
        <previewPath>/img/nuxeo_preview_logo_black.png</previewPath>
        <width>113</width>
        <height>20</height>
        <title>Nuxeo</title>
      </logo>
      <links>
        <icon name="icon">/icons/favicon.png</icon>
        <icon name="shortcut icon">/icons/favicon.ico</icon>
      </links>
      <presetsList append="true">
        <presets category="border" src="themes/palettes/rainbow-borders.properties" />
        <presets category="background"
          src="themes/palettes/rainbow-backgrounds.properties" />
        <presets category="font" src="themes/palettes/rainbow-fonts.properties" />
        <presets category="color" src="themes/palettes/rainbow-colors.properties" />
      </presetsList>
      <palettePreview>
        <colors>
          <color>#595ca1</color>
          <color>#bdd4ef</color>
          <color>#4095ff</color>
          <color>#da4f70</color>
          <color>#41b6ab</color>
          <color>#b34f94</color>
          <color>#332e2e</color>
          <color>#cfffd1</color>
          <color>#feffe6</color>
        </colors>
      </palettePreview>
      <sass>
        <import src="themes/palettes/common_variables.scss" />
        <import src="themes/palettes/alternative_variables.scss" />
      </sass>
    </flavor>

  </extension>

  <extension target="org.nuxeo.theme.styling.service" point="negotiations">

    <negotiation target="jsfDefaultPage">
      <negotiator class="org.nuxeo.ecm.web.resources.jsf.negotiators.DefaultPage"
        order="100">
        <property name="jsfDefaultPage">galaxy/default</property>
      </negotiator>
    </negotiation>

    <negotiation target="jsfPage">
      <negotiator class="org.nuxeo.ecm.web.resources.jsf.negotiators.RequestParameter"
        order="10">
        <property name="param">page</property>
      </negotiator>
      <negotiator class="org.nuxeo.ecm.web.resources.jsf.negotiators.RequestAttribute"
        order="10">
        <property name="param">page</property>
      </negotiator>
      <negotiator class="org.nuxeo.ecm.web.resources.jsf.negotiators.DefaultPage"
        order="100">
        <property name="jsfPage">galaxy/default</property>
      </negotiator>
    </negotiation>

    <negotiation target="jsfFlavor">
      <negotiator class="org.nuxeo.ecm.web.resources.jsf.negotiators.RequestParameter"
        order="10">
        <property name="param">flavor</property>
      </negotiator>
      <negotiator class="org.nuxeo.ecm.web.resources.jsf.negotiators.RequestAttribute"
        order="20">
        <property name="param">flavor</property>
      </negotiator>
      <negotiator class="org.nuxeo.ecm.localconf.LocalThemeFlavor"
        order="30">
        <property name="negotiatedPageVariable">jsfPage</property>
      </negotiator>
      <negotiator
        class="org.nuxeo.ecm.web.resources.jsf.negotiators.DefaultPageFlavor"
        order="100">
        <property name="negotiatedPageVariable">jsfPage</property>
      </negotiator>
    </negotiation>

  </extension>

</component>

Documentation