<?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 name="lookupListLayout" default-entity-name="ContentAssocDataResourceViewFrom" list-name="entityList" target="" title="" type="list"
        paginate-target="LookupListLayout" odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <entity-condition entity-name="ContentAssocDataResourceViewFrom" list="entityList" >
                <condition-expr field-name="caContentIdTo" value="TEMPLATE_MASTER"/>
            </entity-condition>
        </actions>
        <field name="contentId" title="${uiLabelMap.CommonEdit}" widget-style="buttontext">
            <hyperlink also-hidden="false" description="${contentId}" target-type="plain" target="javascript:execRemoteCall('cloneLayout', '${drDataResourceId}', '${contentId}', 'TEMPLATE_MASTER', '')"/>
        </field>
        <field name="contentName"><display/></field>
        <field name="description"><display/></field>
        <field name="drObjectInfo"><display/></field>
    </form>

    <form name="lookupDataResourceContent" default-entity-name="DataResourceContentView" target="LookupSubContent" title="" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <field name="dataResourceId" title="${uiLabelMap.ContentDataResourceId}">
            <text-find/>
        </field>
        <field name="coContentId">
            <text-find/>
        </field>
        <field name="coContentName">
            <text-find/>
        </field>
        <field name="coDescription">
            <text-find/>
        </field>
        <field name="createdByUserLogin">
             <lookup  target-form-name="LookupPerson"/>
        </field>
        <field name="createdDate">
            <date-find/>
        </field>
        <field name="lastModifiedByUserLogin">
             <lookup  target-form-name="LookupParty"/>
        </field>
        <field name="lastModifiedDate">
            <date-find/>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonFind}" widget-style="smallSubmit">
            <submit button-type="button"/>
        </field>
        <field name="contentIdTo">
            <hidden value="${contentIdTo}"/>
        </field>
        <field name="mapKey">
            <hidden value="${mapKey}"/>
        </field>
    </form>

    <form name="listLookupDataResourceContent" default-entity-name="DataResourceContentView" list-name="listIt" target="" title="" type="list"
        paginate-target="LookupSubContent" 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="parameters"/>
                <field-map field-name="entityName" value="DataResourceContentView"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="replace" widget-style="buttontext" >
            <hyperlink also-hidden="false" target-type="plain" description="${uiLabelMap.FormFieldTitle_replace} [${dataResourceId}/${coContentId}]"
               target="javascript:execRemoteCall('replaceSubContent','${dataResourceId}','${coContentId}', '${contentIdTo}', '${mapKey}')"
            />
        </field>
        <field name="pasteContent" widget-style="buttontext" >
            <hyperlink also-hidden="false" target-type="plain" description="${uiLabelMap.ContentPaste} [${dataResourceId}/${coContentId}]"
               target="javascript:execRemoteCall('pasteContent','${dataResourceId}','${coContentId}')"/>
        </field>
        <field name="dataResourceName" widget-style="buttontext">
            <display/>
        </field>
        <field name="dataCategoryId" widget-style="buttontext">
            <display/>
        </field>
    </form>
</forms>
