<?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" 
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
    <form id="productsExportToGoogle" name="ProductsExportToGoogle" type="single" target="searchExportProductListToGoogle"
        header-row-style="header-row" default-table-style="basic-table">
        <actions>
            <set field="selectResult" type="List"/>
        </actions>
        <field name="productStoreId"><hidden/></field>
        <field name="selectResult"><hidden/></field>
        <field name="dummy" title=" " tooltip="Google Base Application is now available for US, UK(GB) and DE"><display/></field>
        <field name="countryCode"><hidden/></field>
        <field name="showText" title="Country Code" tooltip="This product store is ${countryCode}"><display/></field>
        <field name="webSiteId" event="onchange" action="javascript:$('productsExportToGoogle').action='${persistAction}';$('productsExportToGoogle').submit();">
            <drop-down current="selected">
                <list-options list-name="webSiteList" key-name="webSiteId" description="${siteName}[${webSiteId}]"/>
            </drop-down>
        </field>
        <field name="webSiteUrl"><text size="50" maxlength="250" default-value="${webSiteUrl}"/></field>
        <field name="webSiteMountPoint"><text size="30" maxlength="30" default-value="ecommerce"/></field>
        <field name="actionType">
            <drop-down no-current-selected-key="insert">
                <option key="insert" description="${uiLabelMap.CommonInsert}"/>
                <option key="update" description="${uiLabelMap.CommonUpdate}"/>
                <option key="delete" description="${uiLabelMap.CommonDelete}"/>
            </drop-down>
        </field>
        <field name="statusId">
            <drop-down no-current-selected-key="draft">
                <!--
                <option key="deactivate" description="${uiLabelMap.GoogleBaseExportDeactivated}"/>
                -->
                <option key="draft" description="${uiLabelMap.GoogleBaseExportPublishDraft}"/>
                <option key="publish" description="${uiLabelMap.GoogleBaseExportPublish}"/>
            </drop-down>
        </field>
        <field name="testMode" tooltip="${uiLabelMap.GoogleBaseExportTestMode}">
            <drop-down no-current-selected-key="N">
                <option key="N" description="${uiLabelMap.CommonNo}"/>
                <option key="Y" description="${uiLabelMap.CommonYes}"/>
            </drop-down>
        </field>
        <field name="trackingCodeId">
            <drop-down no-current-selected-key="_NA_">
                <option key="_NA_" description="${uiLabelMap.GoogleBaseExportNoTrackingRequested}"/>
                <entity-options entity-name="TrackingCode" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="allowRecommended" title="${uiLabelMap.GoogleBaseRecommended}"><check/></field>
        <field name="submitButton" title="${uiLabelMap.GoogleBaseExportToGoogle}"><submit button-type="button"/></field>
    </form>
    
    <form name="ListGoogleBaseConfigs" type="list"  list-name="googleBaseConfigs"  target="updateGoogleBaseConfig"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="GoogleBaseConfig">
                <order-by field-name="productStoreId"/>
            </entity-condition>
        </actions>
        <auto-fields-service service-name="updateGoogleBaseConfig"/>
        <field name="productStoreId"><display/></field>
        <field name="deleteGoogleBaseConfig" title="" widget-style="buttontext">
            <hyperlink target="deleteGoogleBaseConfig" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                <parameter param-name="productStoreId"/>
            </hyperlink>
        </field>
        <field name="accountPassword"><password/></field>
        <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
    </form>
    
    <form name="AddGoogleBaseConfig" type="single" target="createGoogleBaseConfig" title="">
        <auto-fields-service service-name="createGoogleBaseConfig"/>
        <field name="productStoreId">
            <drop-down allow-empty="false">
                <option key="" description="- ${uiLabelMap.CommonSelectAny} -"/>
                <entity-options entity-name="ProductStore" description="${storeName} [${productStoreId}]">
                    <entity-order-by field-name="storeName"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="accountPassword"><password/></field>
        <field name="utmSource" title="Campaign Source" tooltip="Use to identify a search engine, newsletter name, or other source. Example: utm_source=google"></field>
        <field name="utmMedium" title="Campaign Medium" tooltip="Use to identify a medium such as email or cost-per- click. Example: utm_medium=cpc"></field>
        <field name="utmTerm" title="Campaign Term" tooltip="Used for paid search. Use to note the keywords for this ad. Example: utm_term=running+shoes"></field>
        <field name="utmContent" title="Campaign Content" tooltip="Used for A/B testing and content-targeted ads. Use to differentiate ads or links that point to the same URL. Examples: utm_content=logolink or utm_content=textlink"></field>
        <field name="utmCampaign" title="Campaign Name" tooltip="Used for keyword analysis. Use to identify a specific product promotion or strategic campaign. Example: utm_campaign=spring_sale"></field>
        <field name="submitButton" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>
    
    <form name="GooglebaseAutoUpdateConfig" type="list" list-name="configList" header-row-style="header-row-2" 
        default-table-style="basic-table hover-bar" odd-row-style="alternate-row">
        <actions>
            <script location="component://googlebase/webapp/googlebase/WEB-INF/actions/autoUpdateConfig.groovy"/>
        </actions>
        <field name="productStoreId"><display/></field>
        <field name="outOfStock" title="Update if product is out of stock"><display/></field>
        <field name="backInStock" title="Update if product is back into stock"><display/></field>
        <field name="webSiteUrl"><display/></field>
        <field name="actionType"><display/></field>
        <field name="statusId"><display/></field>
        <field name="outOfStock"><display/></field>
        <field name="testMode"><display/></field>
        <field name="webSiteMountPoint"><display/></field>
        <field name="countryCode"><display/></field>
        <field name="trackingCodeId"><display/></field>
        <field name="allowRecommended"><display/></field>
    </form>
    <form name="StartStopScheduled" type="single" target="startStopScheduledGbase" title="">
        <actions>
            <entity-and entity-name="JobSandbox" list="pendingList">
                <field-map field-name="serviceName" value="autoUpdateToGoogleBase"/>
                <field-map field-name="statusId" value="SERVICE_PENDING"/>
                <order-by field-name="-lastUpdatedStamp"/>
            </entity-and>
            <entity-and entity-name="JobSandbox" list="cancelledList">
                <field-map field-name="serviceName" value="autoUpdateToGoogleBase"/>
                <field-map field-name="statusId" value="SERVICE_CANCELLED"/>
                <order-by field-name="-lastUpdatedStamp"/>
            </entity-and>
        </actions>
        <field name="dummy" title=" " tooltip="Don't forget to add the scheduled job to run autoUpdateToGoogleBase service"><display /></field>
        <field name="pendingJobId"><display description="${pendingList[0].jobId}"/></field>
        <field name="status" use-when="${groovy: return context.pendingList[0] != null;}"><display description="RUNNING"/></field>
        <field name="lastUpdatedStamp" use-when="${groovy: return context.pendingList[0] != null;}"><display description="${pendingList[0].lastUpdatedStamp}"/></field>
        <field name="runTime" use-when="${groovy: return context.pendingList[0] != null;}"><display description="${pendingList[0].runTime}"/></field>
        <field name="status" use-when="${groovy: return context.pendingList[0] == null;}"><display description="STOP"/></field>
        <field name="StoppedTime" use-when="${groovy: return context.pendingList[0] == null;}"><display description="${cancelledList[0].cancelDateTime}"/></field>
        <field name="Start/Stop Scheduled"><submit button-type="button"/></field>
    </form>
</forms>
