Skip to content

Commit fde81b3

Browse files
committed
Merge branch 'feature-PRESIDECMS-3002_support-admin-data-table-listing-row-cell-alignment' into release-10.28.0
2 parents c120413 + 2ca9e27 commit fde81b3

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

system/assets/css/admin/core/preside_datatables_overrides.less

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@
117117
cursor : pointer;
118118
}
119119
}
120+
121+
td, th {
122+
&.dt-align-center { text-align: center; }
123+
&.dt-align-right { text-align: right; }
124+
}
120125
}
121126
}
122127

@@ -128,7 +133,7 @@
128133
tfoot {
129134
th {
130135
font-weight : normal;
131-
padding : 10px;
136+
padding : 5px;
132137
background-color : #eee;
133138
}
134139
}

system/handlers/admin/DataManager.cfc

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ component extends="preside.system.base.AdminHandler" {
5959
objectName = objectName
6060
, gridFields = prc.gridFields ?: _getObjectFieldsForGrid( objectName )
6161
, sortableFields = prc.sortableFields ?: _getObjectSortableFields( objectName )
62+
, centerAlignFields = prc.centerAlignFields ?: _getObjectCenterAlignFields( objectName )
63+
, rightAlignFields = prc.rightAlignFields ?: _getObjectRightAlignFields( objectName )
6264
, hiddenGridFields = prc.hiddenGridFields ?: []
6365
, batchEditableFields = prc.batchEditableFields ?: []
6466
, isMultilingual = IsTrue( prc.isMultilingual ?: "" )
@@ -90,6 +92,8 @@ component extends="preside.system.base.AdminHandler" {
9092
gridFields = args.gridFields ?: _getObjectFieldsForGrid( objectName )
9193
, hiddenGridFields = args.hiddenGridFields ?: _getObjectHiddenFieldsForGrid( objectName )
9294
, sortableFields = args.sortableFields ?: _getObjectSortableFields( objectName )
95+
, centerAlignFields = args.centerAlignFields ?: _getObjectCenterAlignFields( objectName )
96+
, rightAlignFields = args.rightAlignFields ?: _getObjectRightAlignFields( objectName )
9397
, batchEditableFields = args.batchEditableFields ?: dataManagerService.listBatchEditableFields( objectName )
9498
, isMultilingual = IsTrue( args.isMultilingual ?: multilingualPresideObjectService.isMultilingual( objectName ) )
9599
, draftsEnabled = IsTrue( args.draftsEnabled ?: datamanagerService.areDraftsEnabledForObject( objectName ) )
@@ -4085,6 +4089,22 @@ component extends="preside.system.base.AdminHandler" {
40854089
) );
40864090
}
40874091

4092+
private array function _getObjectCenterAlignFields( required string objectName ) {
4093+
return listToArray( presideObjectService.getObjectAttribute(
4094+
objectName = arguments.objectName
4095+
, attributeName = "datamanagerCenterAlignFields"
4096+
, defaultValue = ""
4097+
) );
4098+
}
4099+
4100+
private array function _getObjectRightAlignFields( required string objectName ) {
4101+
return listToArray( presideObjectService.getObjectAttribute(
4102+
objectName = arguments.objectName
4103+
, attributeName = "datamanagerRightAlignFields"
4104+
, defaultValue = ""
4105+
) );
4106+
}
4107+
40884108
private array function _getObjectHiddenFieldsForGrid( required string objectName ) {
40894109
return dataManagerService.listHiddenGridFields( arguments.objectName );
40904110
}

system/views/admin/datamanager/_objectDataTable.cfm

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
param name="args.gridFields" type="array";
1414
param name="args.gridHeaderLabels" type="struct" default={};
1515
param name="args.sortableFields" type="array" default=[];
16+
param name="args.centerAlignFields" type="array" default=[];
17+
param name="args.rightAlignFields" type="array" default=[];
1618
param name="args.hiddenGridFields" type="array" default=[];
1719
param name="args.filterContextData" type="struct" default={};
1820
param name="args.allowSearch" type="boolean" default=true;
@@ -202,7 +204,10 @@
202204
</th>
203205
</cfif>
204206
<cfloop array="#args.gridFields#" index="fieldName">
205-
<th class="<cfif !isEmpty( args.sortableFields ) and !arrayContains( args.sortableFields, fieldName )>no-sorting</cfif>" data-field="#ListLast( fieldName, '.' )#">
207+
<th class="<cfif !isEmpty( args.sortableFields ) and !arrayContains( args.sortableFields, fieldName )>no-sorting</cfif>"
208+
data-field="#ListLast( fieldName, '.' )#"
209+
data-class="<cfif ArrayFindNoCase( args.centerAlignFields, fieldName )>dt-align-center<cfelseif ArrayFindNoCase( args.rightAlignFields, fieldName )>dt-align-right<cfelse></cfif>"
210+
>
206211
<cfif structKeyExists( args.gridHeaderLabels, fieldName ) >
207212
#args.gridHeaderLabels[ fieldName ]#
208213
<cfelse>

0 commit comments

Comments
 (0)