import Ember from 'ember';

export default Ember.Controller.extend({
	queryParams: ['active', 'sortProperties', 'match'],
	active: null,
	match: '*',

	sortProperty: 'title',
	sortOrder: 'asc',
	sortProperties: Ember.computed('sortProperty', 'sortOrder', function() {
		debugger;
		if (this.get('sortProperty') == null) {
			return null
		}
		return `${this.get('sortProperty')}:${this.get('sortOrder')}`;
	}),
	toggleOrder: function(order) {
		if (order === 'asc') {
    		this.set('sortOrder', 'desc'); 
    	} else {
    		this.set('sortOrder', 'asc');
    	}
	},
	actions: {
	    selectStatusFilter: function(status) {
	      	this.set('active', status);
	      	this.set('sortProperty', 'title');
	      	this.set('sortOrder', 'asc');
	    },
	    sortingMethod: function(sortProperty) {
	    	if (this.get('sortProperty') === sortProperty) {
	    		this.toggleOrder(this.get('sortOrder'));
	    	} else {
	    		this.set('sortOrder', 'asc');
	    	}
	      	this.set('sortProperty', sortProperty);
	      	this.get('sortProperties');
	    },
	    resetParams: function() {
	    	this.set('active', null);
	      	this.set('match', '*');
	      	this.set('sortProperty', 'title');
	      	this.set('sortOrder', 'asc');
	    },
	    updateSearch: function(value) {
	    	this.set('match', value);
	    	this.set('sortProperty', null);
	    },
	}
});

@@ -62,17 +62,20 @@
 xtend(%7B%0A
-%09
+    
 queryPar
@@ -118,17 +118,20 @@
 atch'%5D,%0A
-%09
+    
 active: 
@@ -136,17 +136,20 @@
 : null,%0A
-%09
+    
 match: '
@@ -152,18 +152,20 @@
 h: '*',%0A
-%0A%09
+    
 sortProp
@@ -179,17 +179,20 @@
 title',%0A
-%09
+    
 sortOrde
@@ -201,17 +201,20 @@
  'asc',%0A
-%09
+    
 sortProp
@@ -269,35 +269,41 @@
 r', 
-function() %7B%0A%09%09debugger;%0A%09%09
+%7B%0A        get(key) %7B%0A            
 if (
@@ -342,29 +342,62 @@
 ) %7B%0A
-%09%09%09return null%0A%09%09%7D%0A%09%09
+                return null%0A            %7D%0A            
 retu
@@ -459,14 +459,255 @@
 %7D%60;%0A
-%09%7D),%0A%09
+        %7D,%0A        set(key, value) %7B%0A            var %5BsortProperty, sortOrder%5D = value.split(/%5C:/);%0A            this.set('sortProperty', sortProperty);%0A            this.set('sortOrder',  sortOrder);%0A            return value;%0A        %7D%0A    %7D),%0A    
 togg
@@ -733,18 +733,24 @@
 rder) %7B%0A
-%09%09
+        
 if (orde
@@ -764,26 +764,32 @@
 asc') %7B%0A    
-%09%09
+        
 this.set('so
@@ -808,25 +808,28 @@
 esc'); %0A    
-%09
+    
 %7D else %7B%0A   
@@ -825,26 +825,32 @@
  else %7B%0A    
-%09%09
+        
 this.set('so
@@ -875,16 +875,25 @@
     
-%09%7D%0A%09%7D,%0A%09
+    %7D%0A    %7D,%0A    
 acti
@@ -899,17 +899,20 @@
 ions: %7B%0A
-%09
+    
     sele
@@ -946,24 +946,28 @@
 atus) %7B%0A
-%09
+  
       
-%09
+    
 this.set
@@ -986,24 +986,28 @@
 tatus);%0A
-%09
+    
       
-%09
+  
 this.set
@@ -1029,32 +1029,36 @@
 , 'title');%0A
-%09
+      
       
-%09
 this.set('so
@@ -1071,33 +1071,39 @@
 r', 'asc');%0A
-%09
+    
     %7D,%0A
-%09
+    
     sortingM
@@ -1134,22 +1134,28 @@
 erty) %7B%0A
-%09
+   
     
-%09
+     
 if (this
@@ -1195,23 +1195,32 @@
 erty) %7B%0A
-%09
     
-%09%09
+            
 this.tog
@@ -1252,22 +1252,28 @@
 der'));%0A
-%09
+        
     
-%09
 %7D else %7B
@@ -1277,15 +1277,24 @@
 e %7B%0A
-%09
+  
     
-%09%09
+          
 this
@@ -1323,24 +1323,34 @@
 ');%0A
-%09
+   
     
-%09%7D%0A%09
+     %7D%0A      
       
-%09
 this
@@ -1389,53 +1389,23 @@
 y);%0A
-%09
       
-%09this.get('sortProperties');%0A%09 
   
- 
 %7D,%0A
-%09
+    
     
@@ -1426,30 +1426,36 @@
 unction() %7B%0A
-%09
+  
     
-%09
+      
 this.set('ac
@@ -1468,24 +1468,28 @@
  null);%0A
-%09
+  
       
-%09
+    
 this.set
@@ -1500,32 +1500,36 @@
 tch', '*');%0A
-%09
+    
       
-%09
+  
 this.set('so
@@ -1555,16 +1555,20 @@
 ');%0A
-%09
+      
       
-%09
 this
@@ -1593,25 +1593,31 @@
 'asc');%0A
-%09
+    
     %7D,%0A
-%09
+    
     upda
@@ -1644,22 +1644,28 @@
 alue) %7B%0A
-%09
+   
     
-%09
+     
 this.set
@@ -1686,14 +1686,20 @@
 e);%0A
-%09
+   
     
-%09
+     
 this
@@ -1730,17 +1730,23 @@
 l);%0A
-%09
+    
     %7D,%0A
-%09
+    
 %7D%0A%7D)

define getter and setter for computed sortProperties