<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.actions.actionwidgettypes.override">

  <require>org.nuxeo.ecm.platform.actions.actionwidgettypes</require>

  <extension point="widgettypes" target="org.nuxeo.ecm.platform.forms.layout.LayoutStore">

    <widgetType name="link">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Link</title>
        <description>
          Widget displaying a link for an action.
          <p>
            Configured by default not to support ajax actions.
          </p>
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <layouts mode="view">
            <layout name="link_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget>link</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">icon</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">label</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">immediate</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">ajaxSupport</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">styleClass</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">onclick</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">target</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirm</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessage</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessageArgs</widget>
                </row>
              </rows>
              <widget name="link" type="text">
                <labels>
                  <label mode="any">Link</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The action link, that can be a navigation
                    view or a Seam action, for instance.
                  </label>
                </helpLabels>
                <fields>
                  <field>link</field>
                </fields>
                <properties widgetMode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/link_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/link_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

    <widgetType name="bare_link">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Bare link</title>
        <description>
          Widget displaying a bare/output link for an action.
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="discardSurroundingForm">true</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="bare_link_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="actionWidgetTypeConf">label</widget>
                </row>
                <row>
                  <widget>link</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">icon</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">immediate</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">ajaxSupport</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">styleClass</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">onclick</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">target</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirm</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessage</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessageArgs</widget>
                </row>
              </rows>
              <widget name="link" type="text">
                <labels>
                  <label mode="any">Link</label>
                </labels>
                <fields>
                  <field>link</field>
                </fields>
                <helpLabels>
                  <label mode="any">
                    The action link URL.
                  </label>
                </helpLabels>
                <properties widgetMode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/bare_link_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/bare_link_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

    <widgetType name="fancybox">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Fancybox</title>
        <description>
          Widget displaying a button that will open a fancybox.
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <layouts mode="view">
            <layout name="fancybox_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="actionWidgetTypeConf">label</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_include</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_iframe</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">icon</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">styleClass</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">onclick</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirm</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessage</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessageArgs</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_width</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_height</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_scrolling</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_autoScale</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_autoDimensions</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_modal</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_centerOnScroll</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">fancybox_enableEscapeButton</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/fancybox_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/fancybox_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

    <widgetType name="rest_document_link">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Document Rest Link</title>
        <description>
          Widget displaying a restful document link for an action (typically a
          tab link).
          <p>
            Configured by default to avoid adding a form around the link if not
            ajaxified, and to support ajax actions.
          </p>
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="repositoryName">#{currentServerLocation.name}</property>
            <property name="discardSurroundingForm">true</property>
            <property name="disableMultiPartForm">true</property>
            <property name="supportAjax">#{canUseAjaxTabs}</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="rest_document_link_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="actionWidgetTypeConf">label</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">icon</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">ajaxSupport</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">onclick</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">target</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirm</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessage</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessageArgs</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">rest_document_link_view</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">rest_document_link_pattern</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/rest_document_link_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/rest_document_link_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

    <widgetType name="main_tab">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Main tab</title>
        <description>
          Widget displaying a restful link for an action used to
          switch between different views of the application (typically a link to
          the Document Management view, to the Admin Center view, etc...).
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <defaultValues mode="any">
            <property name="discardSurroundingForm">true</property>
          </defaultValues>
          <layouts mode="view">
            <layout name="main_tab_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="actionWidgetTypeConf">label</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">icon</widget>
                </row>
                <row>
                  <widget>requireDocument</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">ajaxSupport</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">onclick</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">target</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirm</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessage</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessageArgs</widget>
                </row>
              </rows>
              <widget name="requireDocument" type="checkbox">
                <labels>
                  <label mode="any">Require document</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The boolean value stating if the rest
                    document link needs a document to show a restful link.
                    Defaults to "false".
                  </label>
                </helpLabels>
                <fields>
                  <field>requireDocument</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/main_tab_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/main_tab_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

    <widgetType name="widget">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Widget</title>
        <description>
          Widget displaying a widget for this action, useful for
          building incremental layouts using actions filtering and ordering
          features (typically generic document summary views).
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <layouts mode="view">
            <layout name="widget_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget>widgetName</widget>
                </row>
                <row>
                  <widget>widgetCategory</widget>
                </row>
                <row>
                  <widget>widgetMode</widget>
                </row>
                <row>
                  <widget>displayActionLabel</widget>
                </row>
                <row>
                  <widget>displayWidgetLabel</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">styleClass</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">onclick</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">target</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirm</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessage</widget>
                </row>
                <row>
                  <widget category="actionWidgetTypeConf">confirmMessageArgs</widget>
                </row>
              </rows>
              <widget name="widgetName" type="text">
                <labels>
                  <label mode="any">Widget name</label>
                </labels>
                <fields>
                  <field>widgetName</field>
                </fields>
                <helpLabels>
                  <label mode="any">
                    The widget name.
                  </label>
                </helpLabels>
                <properties mode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
              <widget name="widgetCategory" type="text">
                <labels>
                  <label mode="any">Widget category</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The widget category.
                  </label>
                </helpLabels>
                <fields>
                  <field>widgetCategory</field>
                </fields>
              </widget>
              <widget name="widgetMode" type="text">
                <labels>
                  <label mode="any">Widget mode</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The widget mode, defaults to "view".
                  </label>
                </helpLabels>
                <fields>
                  <field>widgetMode</field>
                </fields>
              </widget>
              <widget name="displayActionLabel" type="checkbox">
                <labels>
                  <label mode="any">Display action label</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The boolean value stating if the action
                    label should be displayed. Defaults to "false".
                  </label>
                </helpLabels>
                <fields>
                  <field>displayActionLabel</field>
                </fields>
              </widget>
              <widget name="displayWidgetLabel" type="checkbox">
                <labels>
                  <label mode="any">Display widget label</label>
                </labels>
                <helpLabels>
                  <label mode="any">
                    The boolean value stating if the widget
                    label should be displayed. Defaults to "false".
                  </label>
                </helpLabels>
                <fields>
                  <field>displayWidgetLabel</field>
                </fields>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/widget_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/widget_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

    <widgetType name="template">
      <categories>
        <category>jsfAction</category>
      </categories>
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Template</title>
        <description>
          Widget displaying a template for an action, useful for
          custom action rendering.
        </description>
        <categories>
          <category>action</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
        </supportedModes>
        <properties>
          <layouts mode="view">
            <layout name="template_action_widget_type_properties_view">
              <rows>
                <row>
                  <widget>template</widget>
                </row>
              </rows>
              <widget name="template" type="text">
                <labels>
                  <label mode="any">Template</label>
                </labels>
                <fields>
                  <field>template</field>
                </fields>
                <helpLabels>
                  <label mode="any">
                    The template path.
                  </label>
                </helpLabels>
                <properties mode="any">
                  <property name="required">true</property>
                </properties>
              </widget>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.actions.facelets.ActionWidgetTypeHandler
      </handler-class>
      <property name="template">
        /incl/action/widgets/template_action_template.xhtml
      </property>
      <property name="compat_template">
        /incl/action/template_action_template.xhtml
      </property>
      <property name="dev_template">
        /widgets/actions/dev/action_widget_type_dev_template.xhtml
      </property>
    </widgetType>

  </extension>

</component>
