173 instance_data.vault moved up, filter became array and supports multiple field entries

This commit is contained in:
2025-11-20 17:39:02 +03:00
parent 503df018aa
commit 36c4aaef58
7 changed files with 54 additions and 48 deletions
+1
View File
@@ -116,6 +116,7 @@
<m:field formatter=#function(x){return (deserializeJson(x))}#>st.instance_data::text as instance_data</m:field>
<m:field formatter=#function(x){return (deserializeJson(x))}#>st.instance_data->>'out' as out</m:field>
<m:field formatter=#function(x){return (deserializeJson(x))}#>st.instance_data->>'params' as params</m:field>
<m:field formatter=#function(x){return (deserializeJson(x))}#>st.instance_data->>'vault' as vault</m:field>
<m:field formatter=#function(x){return (x GT 0)}#>(st.instance_data->>'isDeleted')::boolean as is_deleted</m:field>
<m:field formatter=#function(x){return (x GT 0)}#>(st.instance_data->>'isSuspended')::boolean as is_suspended</m:field>
</m:field_set>
+3 -3
View File
@@ -85,8 +85,8 @@
<cfset local.fieldsShortList=""/>
<!--- теперь добавим в перечень полей, которые нужно оставить, поля для фильтрации и сортировки --->
<cfloop collection=#filter# item="item">
<cfset var fltr = structFind(filter,item)/>
<cfloop array=#filter# index="fltr">
<!--- <cfset var fltr = structFind(filter,item)/> --->
<cfif listLen(fltr.field,".") EQ 2>
<cfset var fld = listGetAt(fltr.field,2,".")/>
<cfelseif listLen(fltr.field,".") EQ 1>
@@ -202,7 +202,7 @@
from (
select
<!--- из-за фильтраци по вложенному селекту нам нужны значения колонок --->
<cfif structIsEmpty(filter)>
<cfif arrayIsEmpty(filter)>
'' as placeholder
<cfelse>
#preserveSingleQuotes(definedQueryFields)#
+6 -5
View File
@@ -12,11 +12,11 @@
"dt_created"={prefix="o", type="date"},
"dt_updated"={prefix="o", type="date"},
"creator_id"={prefix="o", type="integer"},
"creator_email"={prefix="c", column="email", type="string"},
"creator_shortname"={prefix="c", column="shortname", type="string"},
"creator_email"={prefix="c", expression="email", type="string"},
"creator_shortname"={prefix="c", expression="shortname", type="string"},
"updater_id"={prefix="o", type="integer"},
"updater_email"={prefix="u", column="email", type="string"},
"updater_shortname"={prefix="u", column="shortname", type="string"},
"updater_email"={prefix="u", expression="email", type="string"},
"updater_shortname"={prefix="u", expression="shortname", type="string"},
"dt_submit"={prefix="o", type="date"},
"submit_result"={prefix="o", type="string"},
"dt_start"={prefix="o", type="date"},
@@ -26,7 +26,8 @@
"contract_id"={prefix="inr", type="integer"},
"display_name"={prefix="e", type="string"},
"service_id"={prefix="e", type="integer"},
"svc"={prefix="v", type="string"}
"svc"={prefix="v", type="string"},
"duration"={expression="extract('epoch' from coalesce(o.dt_finish,CURRENT_TIMESTAMP)- o.dt_start)", type="numeric"}
}
/>
+2 -2
View File
@@ -65,8 +65,8 @@
<cfset local.fieldsShortList=""/>
<!--- теперь добавим в перечень полей, которые нужно оставить, поля для фильтрации и сортировки --->
<cfloop collection=#filter# item="item">
<cfset var fltr = structFind(filter,item)/>
<cfloop array=#filter# index="fltr">
<!--- <cfset var fltr = structFind(filter,item)/> --->
<cfif listLen(fltr.field,".") EQ 2>
<cfset var fld = listGetAt(fltr.field,2,".")/>
<cfelseif listLen(fltr.field,".") EQ 1>