From ec47493166f6219866edebe47d61fca280bd1c9e Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Fri, 2 Feb 2018 15:37:02 -0300 Subject: [PATCH] Solve the sortable but not sorted by column issue --- addon/components/sortable-table-header.coffee | 12 ++++++------ addon/styles/components/_table-filtering.sass | 12 ++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/addon/components/sortable-table-header.coffee b/addon/components/sortable-table-header.coffee index b39edf5..17da0a1 100644 --- a/addon/components/sortable-table-header.coffee +++ b/addon/components/sortable-table-header.coffee @@ -5,9 +5,10 @@ export default Ember.Component.extend layout: layout tagName: 'th' classNames: ['sortable-table-header'] - classNameBindings: ['isSortedByKey:sorted', 'sortDirectionClass'] + classNameBindings: ['isSortedByKey:sorted:not-sorted-by', 'sortDirectionClass'] filters: Ember.Object.create() tScope: '' + defaultDirection: '' # asc or desc direction: 'asc' init: -> @_super arguments... @@ -46,10 +47,9 @@ export default Ember.Component.extend else @set 'filters.s', "#{key} asc" else - default_direction = if key.match /date/ then 'desc' else 'asc' + default_direction = @get('defaultDirection') + default_direction ||= if key.match /date|(_at$)/ then 'desc' else 'asc' + default_direction = 'asc' if default_direction is 'ascending' + default_direction = 'desc' if default_direction is 'descending' @set 'filters.s', "#{key} #{default_direction}" - #debugger - #@get('afterburn')() # call action if given @get('model')?.reload?() - #@sendAction 'action' - #@get('filters.reload')() if typeof @get('filters.reload') is 'function' diff --git a/addon/styles/components/_table-filtering.sass b/addon/styles/components/_table-filtering.sass index 601dc3d..12a3e39 100644 --- a/addon/styles/components/_table-filtering.sass +++ b/addon/styles/components/_table-filtering.sass @@ -1,4 +1,16 @@ // ransack componennt integration +.ui.sortable.table thead th.sortable-table-header + &.not-sorted-by + &:after + display: inline-block + font-style: normal + content: '\f0dc' + font-family: Icons + opacity: 0.3 + width: auto + height: 1em + margin: 0em 0em 0em 0.5em + table thead tr.table-filters-row, table.ui.table thead tr.table-filters-row input margin: 0