Skip to content

Commit 2ca9e27

Browse files
committed
PRESIDECMS-3002 add support admin data table listing row cell alignment
1 parent d742cc4 commit 2ca9e27

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 ) )
@@ -4077,6 +4081,22 @@ component extends="preside.system.base.AdminHandler" {
40774081
) );
40784082
}
40794083

4084+
private array function _getObjectCenterAlignFields( required string objectName ) {
4085+
return listToArray( presideObjectService.getObjectAttribute(
4086+
objectName = arguments.objectName
4087+
, attributeName = "datamanagerCenterAlignFields"
4088+
, defaultValue = ""
4089+
) );
4090+
}
4091+
4092+
private array function _getObjectRightAlignFields( required string objectName ) {
4093+
return listToArray( presideObjectService.getObjectAttribute(
4094+
objectName = arguments.objectName
4095+
, attributeName = "datamanagerRightAlignFields"
4096+
, defaultValue = ""
4097+
) );
4098+
}
4099+
40804100
private array function _getObjectHiddenFieldsForGrid( required string objectName ) {
40814101
return dataManagerService.listHiddenGridFields( arguments.objectName );
40824102
}

system/views/admin/datamanager/_objectDataTable.cfm

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

0 commit comments

Comments
 (0)