41 lines
1.8 KiB
Plaintext
41 lines
1.8 KiB
Plaintext
<cfsilent>
|
|
<!--- 20181209 v0.3 --->
|
|
<!--- Используется в селекте для структурирования списка полей. Выводит вместо себя список через запятую, экспортирует Map со структурами выражение+заголовок, с ключом, соответствующим имени колонки в селекте (ключ вычисляется регулярным выражением) --->
|
|
<!---v0.3 добавлено поле cfSqlType--->
|
|
<cfif thisTag.executionMode is "end">
|
|
|
|
<cfparam name="ATTRIBUTES.titleMapOut"/>
|
|
<cfparam name="ATTRIBUTES.lengthOut"/>
|
|
<cfparam name="ATTRIBUTES.listOut" default=""/>
|
|
|
|
<cfparam name="thisTag.fieldsArray" type="array"/><!--- Вложенные теги field отдают сюда свои данные --->
|
|
<cfset titleMap=structNew()/>
|
|
<cfset list=""/>
|
|
<cfset i=0/>
|
|
<cfloop array=#thisTag.fieldsArray# index="field">
|
|
<cfset i=i+1/>
|
|
<cfset list=listAppend(#list#, #field.expression#)/>
|
|
<cfif len(#field.name#)>
|
|
<cfset structInsert(#titleMap#, #field.name#, structNew())/>
|
|
<cfset "titleMap.#field.name#.ordinal"=#i#/>
|
|
<cfset "titleMap.#field.name#.title"=#field.title#/>
|
|
<cfset "titleMap.#field.name#.cfSqlType"=#field.cfSqlType#/>
|
|
</cfif>
|
|
</cfloop>
|
|
|
|
<cfif len(ATTRIBUTES.lengthOut)>
|
|
<cfset "CALLER.#ATTRIBUTES.lengthOut#"=#arrayLen(thisTag.fieldsArray)#/>
|
|
</cfif>
|
|
|
|
<cfif len(ATTRIBUTES.titleMapOut)>
|
|
<cfset "CALLER.#ATTRIBUTES.titleMapOut#"=#titleMap#/>
|
|
</cfif>
|
|
|
|
<cfif len(ATTRIBUTES.listOut)>
|
|
<cfset "CALLER.#ATTRIBUTES.listOut#"=preserveSingleQuotes(list)/>
|
|
<cfelse>
|
|
<cfset thisTag.generatedContent=preserveSingleQuotes(list)/>
|
|
</cfif>
|
|
|
|
</cfif>
|
|
</cfsilent> |