diff --git a/src/js/components/List.js b/src/js/components/List.js
index 140c8c07..d9ce57cc 100755
--- a/src/js/components/List.js
+++ b/src/js/components/List.js
@@ -35,8 +35,8 @@ export default class List extends React.Component{
)
}
- renderValue( row, key ){
- var key = key.split('.')
+ renderValue( row, key_string ){
+ var key = key_string.split('.')
var value = row
for( var i = 0; i < key.length; i++ ){
@@ -47,6 +47,7 @@ export default class List extends React.Component{
}
}
+ if( key_string === 'owner' ) return {value.id}
if( key[0] === 'artists' ) return
if( value === true ) return
if( typeof(value) === 'number' ) return {value.toLocaleString()}
diff --git a/src/js/components/ListItem.js b/src/js/components/ListItem.js
deleted file mode 100755
index 394f4481..00000000
--- a/src/js/components/ListItem.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-import React, { PropTypes } from 'react'
-import FontAwesome from 'react-fontawesome'
-import { browserHistory } from 'react-router'
-
-export default class ListItem extends React.Component{
-
- constructor(props) {
- super(props);
- }
-
- handleClick(e){
- if( e.target.tagName.toLowerCase() !== 'a' ){
- browserHistory.push( this.props.link );
- }
- }
-
- render(){
- var className = 'list-item';
- if( this.props.extraClasses ) className += ' '+this.props.extraClasses;
-
- return (
-
this.handleClick(e) }>
- { this.props.children }
-
- );
- }
-}
\ No newline at end of file
diff --git a/src/js/helpers.js b/src/js/helpers.js
index f1b4d162..e9294583 100755
--- a/src/js/helpers.js
+++ b/src/js/helpers.js
@@ -260,9 +260,10 @@ export let sortItems = function (array, property, reverse = false){
var a_value = a
var a_property_split = property.split('.')
- for( var i = 0; i < a_property_split.length; i++ ){
- if( typeof(a_value[a_property_split[i]]) === 'undefined' ){
+ for (var i = 0; i < a_property_split.length; i++) {
+ if (typeof(a_value[a_property_split[i]]) === 'undefined') {
a_value = false
+ break
}else{
a_value = a_value[a_property_split[i]]
}
@@ -271,25 +272,28 @@ export let sortItems = function (array, property, reverse = false){
var b_value = b
var b_property_split = property.split('.')
for( var i = 0; i < b_property_split.length; i++ ){
- if( typeof(b_value[b_property_split[i]]) === 'undefined' ){
+ if (typeof(b_value[b_property_split[i]]) === 'undefined') {
b_value = false
- }else{
+ break
+ } else {
b_value = b_value[b_property_split[i]]
}
}
if( typeof(a_value) === 'boolean'){
- if( a_value && !b_value ) return -1
- if( !a_value && b_value ) return 1
+ if (a_value && !b_value) return -1
+ if (!a_value && b_value) return 1
return 0
}else if( typeof(a_value) === 'string'){
- if(a_value.toLowerCase() > b_value.toLowerCase()) return 1
- return -1
+ if ( !a_value || !b_value ) return 0
+ if (a_value.toLowerCase() > b_value.toLowerCase()) return 1
+ if (a_value.toLowerCase() < b_value.toLowerCase()) return -1
+ return 0
}else{
- if( parseInt(a_value) > parseInt(b_value) ) return 1
- if( parseInt(a_value) < parseInt(b_value) ) return -1
+ if (parseInt(a_value) > parseInt(b_value)) return 1
+ if (parseInt(a_value) < parseInt(b_value)) return -1
return 0
}
}
diff --git a/src/js/views/library/LibraryPlaylists.js b/src/js/views/library/LibraryPlaylists.js
index dd9da7fd..306f0712 100755
--- a/src/js/views/library/LibraryPlaylists.js
+++ b/src/js/views/library/LibraryPlaylists.js
@@ -50,7 +50,7 @@ class LibraryPlaylists extends React.Component{
{
width: 30,
label: 'Owner',
- name: 'owner.id'
+ name: 'owner'
},
{
width: 10,
@@ -99,6 +99,10 @@ class LibraryPlaylists extends React.Component{
value: 'can_edit',
label: 'Editable'
},
+ {
+ value: 'owner.id',
+ label: 'Owner'
+ },
{
value: 'tracks.total',
label: 'Tracks'