<?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="LookupRouting" target="LookupRouting" title="" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="lookupRoutingTask" default-field-type="hidden"/>
        <field name="workEffortName" title="${uiLabelMap.ManufacturingTaskName}"><text-find/></field>
        <field name="workEffortTypeId"><hidden value="ROUTING"/></field>
        <field name="fixedAssetId"><hidden value=""/></field>
        <field name="fixedAssetId_op"><hidden value="equals"/></field>
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="submitButton" title="${uiLabelMap.CommonFind}"><submit button-type="button"/></field>
    </form>
    <form name="ListLookupRouting" list-name="listIt" title="" type="list"
        paginate-target="LookupRouting" odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="requestParameters"/>
                <field-map field-name="entityName" from-field="entityName"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="workEffortId" title=" " widget-style="buttontext">
            <hyperlink description="${workEffortId}" target="javascript:set_value('${workEffortId}')" also-hidden="false" target-type="plain"/>
        </field>
        <field name="workEffortName" title="${uiLabelMap.ManufacturingRoutingName}"><display/></field>
        <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
        <field name="quantityToProduce" title="${uiLabelMap.ManufacturingQuantityMinimum}"><display/></field>
    </form>

    <form name="LookupRoutingTask" target="LookupRoutingTask" title="" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <auto-fields-service service-name="lookupRoutingTask" default-field-type="find"/>
        <field name="workEffortTypeId"><hidden value="ROU_TASK"/></field>
        <field name="fixedAssetId" >
            <drop-down>
                <option key="" description=""/>
                <entity-options entity-name="FixedAsset" description="${fixedAssetName}">
                    <entity-constraint name="fixedAssetTypeId" value="GROUP_EQUIPMENT"/>
                </entity-options>
             </drop-down>
        </field>
        <field name="fixedAssetId_op"><hidden value="equals"/></field>

        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="submitButton" title="${uiLabelMap.CommonFind}"><submit button-type="button"/></field>
    </form>
    <form name="ListLookupRoutingTask" list-name="listIt" title="" type="list"
        paginate-target="LookupRoutingTask" odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="requestParameters"/>
                <field-map field-name="entityName" from-field="entityName"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="workEffortId" title=" " widget-style="buttontext">
            <hyperlink description="${workEffortId}" target="javascript:set_value('${workEffortId}')" also-hidden="false" target-type="plain"/>
        </field>
        <field name="workEffortName" title="${uiLabelMap.ManufacturingTaskName}"><display/></field>
        <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
        <field name="estimatedSetupMillis" title="${uiLabelMap.ManufacturingTaskEstimatedSetupMillis}"><display/></field>
        <field name="estimatedMilliSeconds" title="${uiLabelMap.ManufacturingTaskEstimatedMilliSeconds}"><display/></field>
    </form>
</forms>
