2013-07-25 23:33:04 +02:00
< ul class = "dropdowns" >
< li class = "dropdown" >
< a class = "dropdown-toggle btn" >
Published: < strong > {{filter.published.title}}< / strong >
< / a >
< ul class = "dropdown-menu" >
< li ng-repeat = "filter in filters.published" >
< a pfm-eat-click href = "#" ng-click = "updateFilter('published', filter)" > {{filter.title}}< / a >
< / li >
< / ul >
< / li >
< li class = "dropdown" >
< a class = "dropdown-toggle btn" >
Sort: < strong > {{filter.sort.title}}< / strong >
< / a >
< ul class = "dropdown-menu" >
< li ng-repeat = "filter in filters.sort" >
< a pfm-eat-click href = "#" ng-click = "updateFilter('sort', filter)" > {{filter.title}}< / a >
< / li >
< / ul >
< / li >
< li class = "dropdown" >
< a class = "dropdown-toggle btn" >
Type: < strong > {{titles.trackTypes}}< / strong >
< / a >
< ul class = "dropdown-menu" >
< li ng-repeat = "type in taxonomies.trackTypes" ng-class = "{selected: filter.trackTypes[type.id]}" >
< a pfm-eat-click href = "#" ng-click = "toggleFilter('trackTypes', type.id); $event.stopPropagation();" > {{type.title}}< / a >
< / li >
< / ul >
< / li >
< li class = "dropdown" >
< a class = "dropdown-toggle btn" >
Genera: < strong > {{titles.genres}}< / strong >
< / a >
< ul class = "dropdown-menu" >
< li ng-repeat = "genre in taxonomies.genres" ng-class = "{selected: filter.genres[genre.id]}" >
< a pfm-eat-click href = "#" ng-click = "toggleFilter('genres', genre.id); $event.stopPropagation();" > {{genre.name}}< / a >
< / li >
< / ul >
< / li >
< / ul >
< div class = "two-pane-view" ng-class = "{open: selectedTrack != null, closed: selectedTrack == null}" >
< div class = "list" >
< ul class = "account-tracks-listing strech-to-bottom" >
< li ng-repeat = "track in tracks" ng-class = "{selected: track.id == selectedTrack.id, 'is-published': track.is_published}" >
< a href = "/account/content/tracks/{{track.id}}" >
2013-07-27 02:15:07 +02:00
< img class = "image" src = "{{track.cover_url}}" / >
2013-07-25 23:33:04 +02:00
< span class = "title" > {{track.title}}< / span >
< span class = "published" > {{track.created_at | pfmdate:'MM/dd/yyyy'}}< / span >
< / a >
< / li >
< / ul >
< / div >
< div class = "editor" >
< form novalidate ng-submit = "updateTrack(edit)" >
< ul class = "toolbar" >
< li >
< button type = "submit" class = "btn" ng-class = "{disabled: selectedTrack.is_published && !isDirty, 'btn-primary': !selectedTrack.is_published || isDirty}" >
< span ng-show = "selectedTrack.is_published" > Save Changes< / span >
< span ng-hide = "selectedTrack.is_published" > Publish Track< / span >
< / button >
< / li >
< li class = "delete" > < a class = "btn btn-danger" href = "#" ng-click = "deleteTrack(selectedTrack)" pfm-eat-click > Delete Track< / a > < / li >
< / ul >
< div class = "strech-to-bottom" >
< div class = "form-row" ng-class = "{'has-error': errors.title != null}" >
< label for = "title" class = "strong" > Title:< / label >
< input required ng-change = "touchModel()" placeholder = "Track Title" type = "text" id = "title" ng-model = "edit.title" / >
< div class = "error" > {{errors.title}}< / div >
< / div >
< div class = "row-fluid" >
< div class = "span6 form-row" ng-class = "{'has-error': errors.description != null}" >
< label for = "description" class = "strong" > Description:< / label >
< textarea ng-change = "touchModel()" placeholder = "Description (optional)" id = "description" ng-model = "edit.description" > < / textarea >
< div class = "error" > {{errors.description}}< / div >
< / div >
< div class = "span6 form-row" ng-class = "{'has-error': errors.lyrics != null}" >
< label for = "is_vocal" class = "strong" > < input ng-change = "touchModel(); updateIsVocal()" id = "is_vocal" type = "checkbox" ng-model = "edit.is_vocal" / > Is Vocal< / label >
< textarea ng-change = "touchModel()" ng-show = "edit.is_vocal" ng-animate = "'fade'" placeholder = "Lyrics (required)" id = "lyrics" ng-model = "edit.lyrics" > < / textarea >
< div class = "error" > {{errors.lyrics}}< / div >
< / div >
< / div >
< div class = "row-fluid" >
< div class = "form-row span6" ng-class = "{'has-error': errors.track_type_id != null}" >
< label for = "track_type" class = "strong" > This track is...< / label >
< select required id = "track_type" ng-change = "touchModel()" ng-model = "edit.track_type_id" ng-options = "type.id as type.editor_title for type in taxonomies.trackTypes" >
< option value = "" > Please select a type...< / option >
< / select >
< div class = "error" > {{errors.track_type_id}}< / div >
< / div >
< div class = "form-row span6" ng-class = "{'has-error': errors.genre_id != null}" >
< label for = "genre" class = "strong" > Genre:< / label >
< select required id = "genre" ng-change = "touchModel()" ng-model = "edit.genre_id" ng-options = "genre.id as genre.name for genre in taxonomies.genres" >
< option value = "" > Please select a genre...< / option >
< / select >
< div class = "error" > {{errors.genre_id}}< / div >
< / div >
< / div >
< div class = "row-fluid" >
< div class = "form-row span6" ng-class = "{'has-error': errors.cover != null}" >
< label class = "strong" > Track Cover: < / label >
< div class = "cover-upload" >
2013-07-27 02:15:07 +02:00
< div class = "preview" ng-class = "{canOpen: isCoverLoaded}" ng-click = "previewCover()" > < img id = "coverPreview" ng-show = "isCoverLoaded" / > < / div >
2013-07-25 23:33:04 +02:00
< p >
Track cover must be a PNG that is at least 350x350. < br / >
< input type = "file" id = "coverImage" onchange = "angular.element(this).scope().setCoverImage(this)" / >
< / p >
2013-07-27 02:15:07 +02:00
< div class = "btn-group" >
< a href = "#" pfm-eat-click ng-click = "uploadTrackCover()" class = "btn btn-info btn-small" > < i class = "icon-upload" > < / i > Upload< / a >
< a href = "#" pfm-eat-click ng-click = "clearTrackCover()" class = "btn btn-danger btn-small" ng-show = "edit.cover" > < i class = "icon-remove" > < / i > < / a >
< / div >
2013-07-25 23:33:04 +02:00
< div class = "error" > {{errors.cover}}< / div >
< / div >
< / div >
< div class = "form-row span6" ng-class = "{'has-error': errors.released_at != null}" >
< label for = "released_at" class = "strong" > Release Date:< / label >
2013-07-26 11:20:34 +02:00
< input type = "text" id = "released_at" ui-date ng-model = "edit.released_at" ng-change = "touchModel()" ui-date-format = "yy-mm-dd" / >
2013-07-25 23:33:04 +02:00
< div class = "error" > {{errors.released_at}}< / div >
< / div >
< / div >
< div class = "row-fluid" >
< div class = "span6 form-row" >
< label for = "is_explicit" > < input ng-change = "touchModel()" id = "is_explicit" type = "checkbox" ng-model = "edit.is_explicit" / > Contains Explicit Content< / label >
< / div >
< div class = "span6 form-row" >
< label for = "is_downloadable" > < input ng-change = "touchModel()" id = "is_downloadable" type = "checkbox" ng-model = "edit.is_downloadable" / > Is Downloadable< / label >
< / div >
< / div >
< div class = "form-row" >
< label class = "strong" > Choose a License:< / label >
< ul class = "license-grid" >
< li ng-repeat = "license in taxonomies.licenses" ng-class = "{selected: edit.license_id == license.id}" >
< div ng-click = "edit.license_id = license.id; touchModel()" >
< strong > {{license.title}}< / strong >
< p > {{license.description}}< / p >
< a href = "#" pfm-eat-click class = "btn" ng-class = "{'btn-primary': edit.license_id == license.id}" >
< span ng-hide = "edit.license_id == license.id" > Select< / span >
< span ng-show = "edit.license_id == license.id" > Selected< / span >
< / a >
< / div >
< / li >
< / ul >
< / div >
< / div >
< / form >
< / div >
< / div >