diff --git a/js/components/PlaylistWindow/PlaylistShade.js b/js/components/PlaylistWindow/PlaylistShade.js index 5f622d07..bc020da2 100644 --- a/js/components/PlaylistWindow/PlaylistShade.js +++ b/js/components/PlaylistWindow/PlaylistShade.js @@ -20,57 +20,65 @@ import ResizeTarget from "./ResizeTarget"; import { getOrderedTracks, getMediaText } from "../../selectors"; -const PlaylistShade = props => { - const { - toggleShade, - close, - focusPlaylist, - playlistSize, - focused, - name, - length - } = props; +class PlaylistShade extends React.Component { + _addedWidth() { + return this.props.playlistSize[0] * PLAYLIST_RESIZE_SEGMENT_WIDTH; + } + _trimmedName() { + const { name } = this.props; + if (name == null) { + return "[No file]"; + } - const addedWidth = playlistSize[0] * PLAYLIST_RESIZE_SEGMENT_WIDTH; - const style = { - width: `${MIN_PLAYLIST_WINDOW_WIDTH + addedWidth}px` - }; - const MIN_NAME_WIDTH = 205; + const MIN_NAME_WIDTH = 205; - const nameLength = (MIN_NAME_WIDTH + addedWidth) / CHARACTER_WIDTH; - const trimmedName = - name.length > nameLength + const nameLength = (MIN_NAME_WIDTH + this._addedWidth()) / CHARACTER_WIDTH; + return name.length > nameLength ? name.slice(0, nameLength - 1) + UTF8_ELLIPSIS : name; + } - const classes = classnames("window", "draggable", { - selected: focused === WINDOWS.PLAYLIST - }); + _time() { + const { length, name } = this.props; + return name == null ? "" : getTimeStr(length); + } - return ( -