@@ -317,7 +317,10 @@ Page.Events = class Events extends Page.PageUtils {
317317 column_labels : [ 'Event Title' , 'Category' , 'Tags' , 'Plugin' , 'Targets' , 'Triggers' , 'Status' , 'Actions' ]
318318 } ;
319319
320- html += this . getSortableTable ( this . events , table_opts , function ( item ) {
320+ var last_item = null ;
321+
322+ html += this . getSortableTable ( this . events , table_opts , function ( item , sort_idx ) {
323+ if ( ! sort_idx ) last_item = null ;
321324 var classes = [ ] ;
322325 var cat = cat_map [ item . category ] || { title : item . category } ;
323326
@@ -342,6 +345,36 @@ Page.Events = class Events extends Page.PageUtils {
342345 if ( ! item . enabled ) classes . push ( 'disabled' ) ;
343346 if ( cat . color ) classes . push ( 'clr_' + cat . color ) ;
344347 if ( classes . length ) tds . className = classes . join ( ' ' ) ;
348+
349+ // decorate changes for certain columns
350+ switch ( table_opts . sort_by ) {
351+ case 'cat_sort' :
352+ if ( ! last_item || ( last_item . cat_sort != item . cat_sort ) ) {
353+ tds . insertBefore = `<ul class="grid_row cat_sep"><div>${ self . getNiceCategory ( item . category , false ) } </div></ul>` ;
354+ }
355+ break ;
356+
357+ case 'tag_sort' :
358+ if ( ! last_item || ( last_item . tag_sort != item . tag_sort ) ) {
359+ tds . insertBefore = `<ul class="grid_row cat_sep"><div>${ self . getNiceTagList ( item . tags || [ ] , false , ', ' ) } </div></ul>` ;
360+ }
361+ break ;
362+
363+ case 'plug_sort' :
364+ if ( ! last_item || ( last_item . plug_sort != item . plug_sort ) ) {
365+ var nice_sep = ( item . plugin == '_workflow' ) ? '(Workflow)' : self . getNicePlugin ( item . plugin , false ) ;
366+ tds . insertBefore = `<ul class="grid_row cat_sep"><div>${ nice_sep } </div></ul>` ;
367+ }
368+ break ;
369+
370+ case 'target_sort' :
371+ if ( ! last_item || ( last_item . target_sort != item . target_sort ) ) {
372+ tds . insertBefore = `<ul class="grid_row cat_sep"><div>${ self . getNiceTargetList ( item . targets , false ) } </div></ul>` ;
373+ }
374+ break ;
375+ } // switch table_opts.sort_by
376+
377+ last_item = item ;
345378 return tds ;
346379 } ) ; // getSortableTable
347380
0 commit comments