<?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="ListBlogs" type="list" list-name="blogs" separate-columns="true" paginate-target="blogMain"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="contentId"><hidden/></field>
        <field name="contentName" widget-style="tabletext">
            <hyperlink target="editBlog" description="${contentName} [${contentId}]">
                <parameter param-name="blogContentId" from-field="contentId"/>
            </hyperlink>
        </field>
        <field name="description"><display/></field>
        <field name="statusId"><display-entity entity-name="StatusItem"></display-entity></field>
        <field name="localeString"><display-entity entity-name="CountryCode" key-field-name="countryCode" description="${countryName}[${countryCode}]"></display-entity></field>
        <field name="contentTypeId"><display-entity entity-name="ContentType"></display-entity></field>
        <field name="lastModifiedDate"><display type="date"/></field>
        <field name="lastModifiedByUserLogin"><display/></field>
    </form>

    <form name="BlogContent" type="list" list-name="blogContent" separate-columns="true" paginate-target="blogContent"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="contentId"><hidden/></field>
        <field name="contentName" widget-style="tabletext">
            <hyperlink target="ViewBlogArticle" description="${contentName} [${contentId}]">
                <parameter param-name="articleContentId" from-field="contentId"/>
                <parameter param-name="blogContentId" from-field="parameters.blogContentId"/>
            </hyperlink>
        </field>
        <field name="description"><display/></field>
        <field name="statusId"><display-entity entity-name="StatusItem"></display-entity></field>
        <field name="localeString"><display-entity entity-name="CountryCode" key-field-name="countryCode" description="${countryName}[${countryCode}]"></display-entity></field>
        <field name="contentTypeId"><display-entity entity-name="ContentType"></display-entity></field>
    </form>

    <form name="EditBlog" type="single" target="updateBlog" title="" default-map-name="content"
        header-row-style="header-row" default-table-style="basic-table">
        <alt-target use-when="content==null" target="newBlog"/>
        <field name="contentId"><hidden/></field>
        <field name="contentTypeId" use-when="content==null"><hidden value="WEB_SITE_PUB_PT"/></field>
        <field name="contentIdFrom" use-when="content==null"><hidden value="BLOGROOT"/></field>
        <field name="contentAssocTypeId"><hidden value="SUB_CONTENT"/></field>
        <field name="contentName" title="${uiLabelMap.ContentBlogName}"><text size="30" maxlength="60"/></field>
        <field name="description" title="${uiLabelMap.ContentBlogDescription}"><text size="30" maxlength="60"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}"><submit button-type="button"/></field>
    </form>

    <form name="EditArticle" target="createBlogArticle" title="" type="upload" skip-end="true" default-map-name="blogEntry"
        default-title-style="treeHeader" default-tooltip-style="tabletext" default-widget-style="inputBox">
        <alt-target use-when="contentId!=void&amp;&amp;contentId!=null" target="updateBlogArticle"/>
        <field name="blogContentId"><hidden value="${parameters.blogContentId}"/></field>
        <field name="contentId" title="${uiLabelMap.ContentBlogEntryId}" use-when="contentId!=void&amp;&amp;contentId!=null"><display/></field>
        <field name="contentName" title="${uiLabelMap.ContentArticleName}"><text size="40"/></field>
        <field name="description"><textarea cols="60" rows="2"/></field>
        <field name="summaryData" title="${uiLabelMap.ContentSummary}" widget-style="inputBox"><textarea cols="60" rows="4"/></field>
        <field name="articleData" title="${uiLabelMap.ContentBlogArticle}" widget-style="inputBox"><textarea cols="100" rows="20" visual-editor-enable="true"/></field>
        <field name="uploadedFile" title="${uiLabelMap.ContentImage}"><file size="25"/></field>
        <field name="templateDataResourceId" title="${uiLabelMap.ContentTemplate}">
            <drop-down>
                <option key="BLOG_TPL_TOPLEFT" description="${uiLabelMap.ContentBlogTopLeft}"/>
                <option key="BLOG_TPL_TOPCENTER" description="${uiLabelMap.ContentBlogTopCenter}"/>
            </drop-down>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}">
            <drop-down no-current-selected-key="CTNT_INITIAL_DRAFT">
                <option key="CTNT_PUBLISHED" description="${uiLabelMap.ContentBlogPublish}"/>
                <option key="CTNT_INITIAL_DRAFT" description="${uiLabelMap.ContentBlogPreview}"/>
            </drop-down>
        </field>
        <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>


</forms>
