spec/lib/filter_settings.cfm
2025-06-02 16:16:51 +03:00

27 lines
962 B
Plaintext

<cfsilent></cfsilent>
<!--- version 2.01--->
<cfimport prefix="m" taglib="."/>
<cfparam name="ATTRIBUTES.target" type="string"/>
<cfparam name="ATTRIBUTES.scopeName" type="string" default="CALLER"/>
<cfparam name="ATTRIBUTES.structName" type="string" default="filter"/>
<cfparam name="ATTRIBUTES.markerList" type="string" default="applyFilter,saveAndClose"/>
<cfif thisTag.executionMode IS "start">
<cfset key="#ATTRIBUTES.target#.filter"/>
<cfif isDefined("reset") or isDefined("resetAndClose")>
<m:settings action="clear" key="#key#"/>
</cfif>
<m:settings action="get" key="#key#" output="filter"/>
<cfset "#ATTRIBUTES.scopeName#.#ATTRIBUTES.structName#"=#filter#/>
<cfelse>
<!--- in fact, for any action --->
<cfloop list=#ATTRIBUTES.markerList# index="marker">
<cfif structKeyExists(FORM,"#marker#") OR structKeyExists(URL,"#marker#")>
<m:settings action="sync" key="#key#" obj=#CALLER.filter#>
<cfbreak/>
</cfif>
</cfloop>
</cfif>