<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.ui.select2.widgettype.contrib.override">

  <require>org.nuxeo.ecm.platform.ui.select2.widgettype.contrib</require>

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

    <widgetType name="select2Widget">
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Single generic suggestion (advanced)</title>
        <description>
          <p>Document Suggestion Widget based on Select2 JS library. Nuxeo
            Automation is used to manage Select2 data binding.
          </p>
        </description>
        <categories>
          <category>dev</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>false</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <properties>
          <layouts mode="view">
            <layout name="select2_widget_type_properties_view">
              <rows>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_operationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_initOperationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">
                    documentSuggestion_documentSchemas
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idFunction</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_labelProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="select2_widget_type_properties_edit">
              <rows>
                <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_query</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_operationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_initOperationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idFunction</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_labelProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_additionalParam</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownOnArrow</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/select2_widget_template.xhtml
      </property>
    </widgetType>


    <widgetType name="select2WidgetMultiple">
      <configuration>
        <sinceVersion>5.7.3</sinceVersion>
        <title>Multiple generic suggestion (advanced)</title>
        <description>
          <p>Multiple Document Suggestion Widget based on Select2 JS library.
            Nuxeo
            Automation is used to manage Select2 data binding.
          </p>
        </description>
        <categories>
          <category>dev</category>
        </categories>
        <supportedModes>
          <mode>view</mode>
          <mode>edit</mode>
        </supportedModes>
        <fields>
          <list>true</list>
          <complex>false</complex>
          <supportedTypes>
            <type>string</type>
          </supportedTypes>
        </fields>
        <properties>
          <layouts mode="view">
            <layout name="select2Multiple_widget_type_properties_any">
              <rows>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_operationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_initOperationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">
                    documentSuggestion_documentSchemas
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idFunction</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_labelProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
              </rows>
            </layout>
          </layouts>
          <layouts mode="edit">
            <layout name="select2Multiple_widget_type_properties_edit">
              <rows>
              <row>
                  <widget category="widgetTypeConf">required</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">placeholder</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_width</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_orderable</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_frequency</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_closeOnSelect</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_minChars</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_query</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_queryDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderName
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_pageProviderPageSize
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_repository</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">documentSuggestion_documentSchemas
                  </widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_helpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">suggestion_hideHelpLabel</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_operationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_initOperationId</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_idFunction</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_labelProperty</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">ajaxReRender</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_containerCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_dropdownCssClass</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejs</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_inlinejsDemoPreview</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_selectionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_suggestionFormatter</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_additionalParam</widget>
                </row>
                <row>
                  <widget category="widgetTypeConf">select2_separator</widget>
                </row>
              </rows>
            </layout>
          </layouts>
        </properties>
      </configuration>
      <handler-class>
        org.nuxeo.ecm.platform.forms.layout.facelets.plugins.TemplateWidgetTypeHandler
      </handler-class>
      <property name="template">
        /widgets/select2_multiple_widget_template.xhtml
      </property>
    </widgetType>

  </extension>

</component>
