coo.mvc.macros.dwz.ftl Maven / Gradle / Ivy
<#--
* 头部引用。
-->
<#macro head>
<#nested>
#macro>
<#--
* 左边菜单。
-->
<#macro leftside>
#macro>
<#--
* 主页navTab容器。
-->
<#macro container>
#macro>
<#--
* 表单组件。
*
* action:表单提交的相对路径
* class:表单的样式
* attributes:表单的其它属性
-->
<#macro form action class="validateForm" attributes...>
" class="${class}" ${s.getAttributes(attributes)}>
<#nested>
#macro>
<#--
* 表单按钮栏。
*
* showSubmitBtn:是否显示提交按钮
* submitBtnText:提交按钮上的文字
* showCancelBtn:是否显示取消按钮
* cancelBtnText:取消按钮上的文字
-->
<#macro formBar showSubmitBtn=true submitBtnText="保存" showCancelBtn=true cancelBtnText="取消">
<#if showSubmitBtn>
<@button text="${submitBtnText}" type="submit" />
#if>
<#nested>
<#if showCancelBtn>
<@button text="${cancelBtnText}" class="close" />
#if>
#macro>
<#--
* 按钮组件。
*
* text:按钮文本
* type: 按钮类型
* active:是否激活
* attributes:按钮的其它属性
-->
<#macro button text type="button" active=false attributes...>
<#if active>
<#local buttonClass="buttonActive" />
<#else>
<#local buttonClass="button" />
#if>
#macro>
<#--
* 链接组件。
*
* href:链接的相对路径
* rel:navTab和dialog链接用到的rel属性
* target:链接类型,对应dwz使用的链接类型,如navTab、dialog、ajaxTodo、selectedTodo等
* mask:dialog链接用来指定打开窗口是否为模态窗口
* attributes:链接的其它属性
-->
<#macro a href rel target="navTab" attributes...>
<#if !rel?? && (target == "navTab" || target == "dialog")>
<#local relStartIndex = href?last_index_of("/") />
<#local relEndIndex = href?last_index_of("?") />
<#if relStartIndex == -1>
<#local relStartIndex = 0 />
#if>
<#if relEndIndex == -1>
<#local rel = href?substring(relStartIndex + 1) />
<#else>
<#local rel = href?substring(relStartIndex + 1, relEndIndex) />
#if>
#if>
<@compress single_line=true>
rel="${rel}"#if> ${s.getAttributes(attributes)}>
<#nested>
@compress>
#macro>
<#--
* 单选组。
*
* path:单选组绑定的属性路径
* items:单选组选项集合对象
* itemValue:单选组值的属性名
* itemLabel:单选组文本的属性名
-->
<#macro radios path items itemValue itemLabel>
<@s.radios path=path items=items itemValue=itemValue itemLabel=itemLabel prefix="" />
#macro>
<#--
* 单选按钮。
*
* path:单选组绑定的属性路径
* trueText:绑定的属性为true时显示的文本
* falseText:绑定的属性为false时显示的文本
-->
<#macro radio path trueText="是" falseText="否">
<@s.radio path=path prefix="" trueText=trueText falseText=falseText />
#macro>
<#--
* 多选组。
*
* path:多选组绑定的属性路径
* items:多选组选项集合对象
* itemValue:多选组值的属性名
* itemLabel:多选组文本的属性名
* box: 分组容器标签名,控制全选按钮影响的范围
* required: 是否必填
* showCheckAllBtn: 是否显示全选按钮
-->
<#macro checkboxs path items itemValue itemLabel box required=true showCheckAllBtn=true>
<@s.bind path />
<#if items?size gt 0 && showCheckAllBtn>
#if>
<#if required>
<@s.checkboxs path=path items=items itemLabel=itemLabel itemValue=itemValue prefix="" id=path class="required" />
<#else>
<@s.checkboxs path=path items=items itemLabel=itemLabel itemValue=itemValue prefix="" id=path />
#if>
#macro>
<#--
* 价格组件。
*
* path:文本框绑定的属性路径
* attributes:文本框的其它属性
-->
<#macro price path required=true attributes...>
<@s.bind path />
<@s.replaceAttributes attributes />
<@compress>
@compress>
#macro>
<#--
* 图片组件。
*
* path: 图片绑定的属性路径
* width: 图片宽度
* height: 图片高度
* size: 图片大小限制
* readonly: 是否只读
-->
<#macro img path width height limit=0 size=1024 readonly=false fileObjName="attFile" buttonText="上传图片(.jpg .gif .png)" buttonWidth=150 buttonHeight=18>
<@s.bind path />
<#local random = s.name + "_" + .now?datetime?string("yyyyMMddHHmmssSSS")>
<#local inputId = "imgInput_" + random>
<#local queueId = "imgQueue_" + random>
<#local fileId = "imgFile_" + random>
<#local multi = s.status.actualValue?? && s.status.actualValue?is_enumerable >
<#if !readonly>
#if>
<#if s.status.value??>
<#if multi>
<#list s.status.actualValue as image>
<#if !readonly>#if>
<#if !readonly>
#if>
#list>
<#else>
<#if !readonly><@s.hidden path />#if>
<#if !readonly>
#if>
#if>
#if>
#macro>
<#--
* 分页表单。
*
* action:表单提交的相对路径
* onsubmit:表单提交时的回调函数
* rel:局部刷新的div的id
* alt:全文检索输入框上的提示信息
* searchModel:搜索条件对象
* showKeyword:是否显示全文搜索文本框
* buttonText:检索按钮的文本
-->
<#macro pageForm action onsubmit rel="" alt="" searchModel=searchModel showKeyword=true buttonText="检索">
<@s.form action=action class="pagerForm" onsubmit=onsubmit rel=rel>
<#nested>
<#if showKeyword>
#if>
-
@s.form>
#macro>
<#--
* 分页导航条。
*
* pageModel:分页对象
-->
<#macro pageNav pageModel>
显示
<#local options = {"20":20, "30":30, "50":50, "80":80, "100":100}>
条,共${pageModel.count}条
#macro>
<#--
* 局部刷新时需要用到的表单宏。
*
* action:局部刷新需要提交地址
* params:局部刷新需要的参数
-->
<#macro reload action params...>
<@s.form class="pagerForm" method="get" action=action>
<#if params??>
<#list params?keys as paramName>
#list>
#if>
@s.form>
#macro>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy