<?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="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">
            <hyperlink description="${contentName} [${contentId}]" target="editBlog">
                <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">
            <hyperlink description="${contentName} [${contentId}]" target="ViewBlogArticle">
                <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-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>
