Skip to content

Commit ad311e2

Browse files
committed
generating release
1 parent 7529b77 commit ad311e2

File tree

15 files changed

+300
-248
lines changed

15 files changed

+300
-248
lines changed

app/modules/main/features/ColumnFilterFeature/directives/mdtCheckboxColumnFilterDirective.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
sort: $scope.headerRowData.columnSort.sort
2424
}
2525
};
26+
$scope.sortingCallback = ColumnSortFeature.sortingCallback;
2627

2728
//destroying scope doesn't remove element, since it belongs to the body directly
2829
$scope.$on('$destroy', function(){
@@ -69,18 +70,6 @@
6970
$scope.selectedItems = [];
7071
};
7172

72-
$scope.sortingCallback = function(event){
73-
event.preventDefault();
74-
75-
if($scope.sortingData.columnSort.sort == false){
76-
$scope.sortingData.columnSort.sort = ColumnSortDirectionProvider.ASC;
77-
}else if($scope.sortingData.columnSort.sort === ColumnSortDirectionProvider.ASC){
78-
$scope.sortingData.columnSort.sort = ColumnSortDirectionProvider.DESC;
79-
}else{
80-
$scope.sortingData.columnSort.sort = false;
81-
}
82-
};
83-
8473
function transformChip(chip) {
8574
if($scope.headerRowData.columnFilter.valuesTransformerCallback){
8675
return $scope.headerRowData.columnFilter.valuesTransformerCallback(chip);

app/modules/main/features/ColumnFilterFeature/directives/mdtChipsColumnFilterDirective.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(function() {
22
'use strict';
33

4-
function mdtChipsColumnFilterDirective(_, $timeout, ColumnFilterFeature){
4+
function mdtChipsColumnFilterDirective(_, $timeout, ColumnFilterFeature, ColumnSortFeature){
55
return{
66
restrict: 'E',
77
templateUrl: '/main/templates/mdtChipsColumnFilter.html',
@@ -19,6 +19,14 @@
1919
$scope.selectedItems = _.map($scope.headerRowData.columnFilter.filtersApplied, _.clone);
2020
$scope.placeholderText = $scope.headerRowData.columnFilter.placeholderText || 'Filter column...';
2121

22+
//TODO: simplify structure
23+
$scope.sortingData = {
24+
columnSort: {
25+
sort: $scope.headerRowData.columnSort.sort
26+
}
27+
};
28+
$scope.sortingCallback = ColumnSortFeature.sortingCallback;
29+
2230
//destroying scope doesn't remove element, since it belongs to the body directly
2331
$scope.$on('$destroy', function(){
2432
element.remove();

app/modules/main/features/ColumnFilterFeature/directives/mdtDropdownColumnFilterDirective.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(function() {
22
'use strict';
33

4-
function mdtDropdownColumnFilterDirective(ColumnFilterFeature){
4+
function mdtDropdownColumnFilterDirective(ColumnFilterFeature, ColumnSortFeature){
55
return{
66
restrict: 'E',
77
templateUrl: '/main/templates/mdtDropdownColumnFilter.html',
@@ -21,6 +21,14 @@
2121
$scope.oneSelectedItem = $scope.selectedItems.length ? transformChip($scope.selectedItems[0]) : undefined;
2222
$scope.placeholderText = $scope.headerRowData.columnFilter.placeholderText || 'Choose a value';
2323

24+
//TODO: simplify structure
25+
$scope.sortingData = {
26+
columnSort: {
27+
sort: $scope.headerRowData.columnSort.sort
28+
}
29+
};
30+
$scope.sortingCallback = ColumnSortFeature.sortingCallback;
31+
2432
//destroying scope doesn't remove element, since it belongs to the body directly
2533
$scope.$on('$destroy', function(){
2634
element.remove();

app/modules/main/features/ColumnSortFeature/ColumnSortFeature.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,23 @@
107107
}
108108
};
109109

110+
/***
111+
* Helper function for handling the sorting states in the column filter panels
112+
* @param event
113+
* @param sortingData
114+
*/
115+
service.sortingCallback = function(event, sortingData){
116+
event.preventDefault();
117+
118+
if(sortingData.columnSort.sort == false){
119+
sortingData.columnSort.sort = ColumnSortDirectionProvider.ASC;
120+
}else if(sortingData.columnSort.sort === ColumnSortDirectionProvider.ASC){
121+
sortingData.columnSort.sort = ColumnSortDirectionProvider.DESC;
122+
}else{
123+
sortingData.columnSort.sort = false;
124+
}
125+
};
126+
110127
function resetColumnDirections(headerRowData, dataStorage){
111128
var lastDirectionValue = headerRowData.columnSort.sort;
112129
_.each(dataStorage.header, function(headerData){

app/modules/main/features/SelectableRowsFeature.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(function(){
22
'use strict';
33

4-
function SelectableRowsFeatureFactory(){
4+
function SelectableRowsFeatureFactory($timeout){
55

66
function SelectableRowsFeature(params){
77
this.$scope = params.$scope;
@@ -14,7 +14,7 @@
1414
var that = this;
1515
// we need to push it to the event loop to make it happen last
1616
// (e.g.: all the elements can be selected before we call the callback)
17-
setTimeout(function(){
17+
$timeout(function(){
1818
that.$scope.selectedRowCallback({
1919
rows: that.ctrl.dataStorage.getSelectedRows()
2020
});

app/modules/main/templates/mdtCheckboxColumnFilter.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="md-whiteframe-z2">
33
<md-content class="md-body-1">
44
<div layout="row" layout-align="end center" class="b-b p-smd md-caption" ng-if="::headerRowData.columnSort.isEnabled">
5-
<a href="#" ng-click="sortingCallback($event)">Sort A-Z <mdt-sorting-icons size="20" data="sortingData" class="p-l-sm"></mdt-sorting-icons></a>
5+
<a href="#" ng-click="sortingCallback($event, sortingData)">Sort A-Z <mdt-sorting-icons size="20" data="sortingData" class="p-l-sm"></mdt-sorting-icons></a>
66
</div>
77

88
<div layout="row" layout-align="start center" class="selectall_clearall p-l-md p-t-md p-b-sm">

app/modules/main/templates/mdtChipsColumnFilter.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<div class="filter-dropdown">
22
<div class="md-whiteframe-z2">
33
<md-content class="md-body-1">
4-
<!-- TODO: Restore sorting in next sprint
5-
<div layout="row" layout-align="end center" class="b-b p-md">-->
6-
<!--<a href="#">Sort A-Z </a>-->
7-
<!--</div>-->
4+
<div layout="row" layout-align="end center" class="b-b p-smd md-caption" ng-if="::headerRowData.columnSort.isEnabled">
5+
<a href="#" ng-click="sortingCallback($event, sortingData)">Sort A-Z <mdt-sorting-icons size="20" data="sortingData" class="p-l-sm"></mdt-sorting-icons></a>
6+
</div>
7+
88
<div class="p-md filter__scroll">
99
<md-chips ng-model="selectedItems"
1010
md-require-match="true">
@@ -33,7 +33,7 @@
3333
</div>
3434

3535
<div class="p-b-sm p-t-sm p-l-sm" layout="row" layout-align="start center">
36-
<md-button class="md-raised md-primary" ng-click="confirmCallback({selectedItems: selectedItems, event: $event})">Ok</md-button>
36+
<md-button class="md-raised md-primary" ng-click="confirmCallback({selectedItems: selectedItems, sortingData: sortingData, event: $event})">Ok</md-button>
3737
<md-button class="md-raised" ng-click="cancelCallback({event: $event})">Cancel</md-button>
3838
</div>
3939
</md-content>

app/modules/main/templates/mdtDropdownColumnFilter.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<div class="filter-dropdown">
22
<div class="md-whiteframe-z2">
33
<md-content class="md-body-1">
4-
<!-- TODO: Restore sorting in next sprint
5-
<div layout="row" layout-align="end center" class="b-b p-md">-->
6-
<!--<a href="#">Sort A-Z </a>-->
7-
<!--</div>-->
4+
<div layout="row" layout-align="end center" class="b-b p-smd md-caption" ng-if="::headerRowData.columnSort.isEnabled">
5+
<a href="#" ng-click="sortingCallback($event, sortingData)">Sort A-Z <mdt-sorting-icons size="20" data="sortingData" class="p-l-sm"></mdt-sorting-icons></a>
6+
</div>
7+
88
<div class="p-md">
99
<md-input-container class="md-block" flex-gt-sm>
1010
<md-select ng-model="oneSelectedItem" placeholder="{{placeholderText}}" ng-change="selectedItem()">
@@ -16,7 +16,7 @@
1616
</div>
1717

1818
<div class="p-b-sm p-t-sm p-l-sm" layout="row" layout-align="start center">
19-
<md-button class="md-raised md-primary" ng-click="confirmCallback({selectedItems: selectedItems, event: $event})">Ok</md-button>
19+
<md-button class="md-raised md-primary" ng-click="confirmCallback({selectedItems: selectedItems, sortingData: sortingData, event: $event})">Ok</md-button>
2020
<md-button class="md-raised" ng-click="cancelCallback({event: $event})">Cancel</md-button>
2121
</div>
2222
</md-content>

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "md-data-table",
3-
"version": "2.0.1",
3+
"version": "2.1.0",
44
"homepage": "https://github.com/iamisti/mdDataTable",
55
"author":"Istvan Fodor <[email protected]>",
66
"main": [

demo/developmentArea.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
<mdt-header-row>
2323
<mdt-column align-rule="left"
24+
column-sort="true"
2425
exclude-from-column-selector="true"
2526
column-filter="{
2627
'valuesProviderCallback': nutritionNameFilterCallback,
@@ -40,6 +41,7 @@
4041
>Service Size Units</mdt-column>
4142

4243
<mdt-column align-rule="left"
44+
column-sort="true"
4345
column-filter="{
4446
'valuesProviderCallback': fatValuesCallback,
4547
'valuesTransformerCallback': fatValuesTransformer,

0 commit comments

Comments
 (0)