<?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.
-->
<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://ofbiz.apache.org/Widget-Form" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Form http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="IndexContentDocuments" target="indexContentTree" title="" type="single" header-row-style="header-row" default-table-style="basic-table">
        <field name="submitButton" title="${uiLabelMap.ContentIndexAll}" widget-style="smallSubmit" position="1"><submit button-type="button"/></field>
        <field name="contentId" position="2"><text size="50" default-value="WebStoreCONTENT"/></field>
    </form>

    <form name="IndexProductDocuments" target="indexProducts" title="" type="single" header-row-style="header-row" default-table-style="basic-table">
        <field name="submitButton" title="Index Products" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

    <form name="SearchList" type="list" target="" list-name="queryResults" paginate-target="/AdminSearch"
          odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="editContent" title=" ">
            <hyperlink description="${uiLabelMap.CommonEdit}" target="CMSContentEdit" also-hidden="false">
                <parameter param-name="contentId"/>
                <parameter param-name="drDataResourceId" from-field="dataResourceId"/>
                <parameter param-name="contentIdTo"/>
            </hyperlink>
        </field>
        <field name="contentId"><display/></field>
        <field name="dataResourceId"><display/></field>
        <field name="contentName"><display/></field>
    </form>

    <form name="ProductList" type="list" target="" list-name="queryResults" paginate-target=""
          odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <field name="productId"><display/></field>
        <field name="description"><display/></field>
        <field name="longDescription"><display/></field>

    </form>

    <form name="LuceneQuery" target="ProductSearch" title="" type="single" header-row-style="header-row" default-table-style="basic-table">
        <field name="luceneQuery"><text size="50"/></field>
        <field name="submitButton" widget-style="smallSubmit" ><submit button-type="button"/></field>
    </form>

</forms>