Merge branch 'feature/VRFS-2998' into develop
This commit is contained in:
commit
34edd24972
|
|
@ -20,8 +20,8 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
@currentPage = 0
|
||||
@next = null
|
||||
@currentQuery = this.defaultQuery()
|
||||
@expanded = false
|
||||
|
||||
@expanded = null
|
||||
|
||||
beforeShow:(data) =>
|
||||
this.setFilterFromURL()
|
||||
this.refresh()
|
||||
|
|
@ -67,10 +67,10 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
refresh:() =>
|
||||
@currentQuery = this.buildQuery()
|
||||
that = this
|
||||
rest.getJamtracks(@currentQuery).done((response) ->
|
||||
rest.getJamtracks(@currentQuery).done((response) =>
|
||||
that.clearResults()
|
||||
that.handleJamtrackResponse(response)
|
||||
).fail (jqXHR) ->
|
||||
).fail (jqXHR) =>
|
||||
that.clearResults()
|
||||
that.noMoreJamtracks.show()
|
||||
that.app.notifyServerError jqXHR, 'Jamtrack Unavailable'
|
||||
|
|
@ -118,7 +118,7 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
# if we less results than asked for, end searching
|
||||
@scroller.infinitescroll 'pause'
|
||||
if @currentPage == 0 and response.jamtracks.length == 0
|
||||
@content.append '<div class=\'no-jamtracks-msg\'>There\'s no jamtracks.</div>'
|
||||
@content.append '<div class=\'no-jamtracks-msg\'>No JamTracks found.</div>'
|
||||
if @currentPage > 0
|
||||
@noMoreJamtracks.show()
|
||||
# there are bugs with infinitescroll not removing the 'loading'.
|
||||
|
|
@ -131,6 +131,7 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
|
||||
|
||||
registerInfiniteScroll:() =>
|
||||
that = this
|
||||
@scroller.infinitescroll {
|
||||
behavior: 'local'
|
||||
navSelector: '#jamtrackScreen .btn-next-pager'
|
||||
|
|
@ -143,10 +144,10 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
loading:
|
||||
msg: $('<div class="infinite-scroll-loader">Loading ...</div>')
|
||||
img: '/assets/shared/spinner.gif'
|
||||
path: (page) ->
|
||||
'/api/jamtracks?' + $.param(this.buildQuery())
|
||||
path: (page) =>
|
||||
'/api/jamtracks?' + $.param(that.buildQuery())
|
||||
|
||||
}, (json, opts) ->
|
||||
}, (json, opts) =>
|
||||
this.handleJamtrackResponse(json)
|
||||
@scroller.infinitescroll 'resume'
|
||||
|
||||
|
|
@ -156,7 +157,7 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
addToCartJamtrack:(e) =>
|
||||
e.preventDefault()
|
||||
params = id: $(e.target).attr('data-jamtrack-id')
|
||||
rest.addJamtrackToShoppingCart(params).done((response) ->
|
||||
rest.addJamtrackToShoppingCart(params).done((response) =>
|
||||
context.location = '/client#/shoppingCart'
|
||||
).fail @app.ajaxError
|
||||
|
||||
|
|
@ -165,33 +166,61 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
@app.layout.showDialog 'jamtrack-availability-dialog'
|
||||
|
||||
registerEvents:() =>
|
||||
@screen.find('.jamtrack-detail-btn').on 'click', this.showJamtrackDescription
|
||||
#@screen.find('.jamtrack-detail-btn').on 'click', this.showJamtrackDescription
|
||||
@screen.find('.play-button').on 'click', this.playJamtrack
|
||||
@screen.find('.jamtrack-add-cart').on 'click', this.addToCartJamtrack
|
||||
@screen.find('.license-us-why').on 'click', this.licenseUSWhy
|
||||
@screen.find('.jamtrack-detail-btn').on 'click', this.toggleExpanded
|
||||
|
||||
# @screen.find('.jamtrack-preview').each (index, element) =>
|
||||
# new JK.JamTrackPreview(data.app, $element, jamTrack, track, {master_shows_duration: true})
|
||||
|
||||
rerenderJamtracks:() =>
|
||||
if @currentData?
|
||||
@clearResults()
|
||||
@renderJamtracks(@currentData)
|
||||
false
|
||||
|
||||
renderJamtracks:(data) =>
|
||||
@currentData = data
|
||||
that = this
|
||||
for jamtrack in data.jamtracks
|
||||
jamtrackExpanded = this.expanded==jamtrack.id
|
||||
trackRow = _.clone(jamtrack)
|
||||
trackRow.track_cnt = jamtrack.tracks.length
|
||||
trackRow.tracks = []
|
||||
for track in jamtrack.tracks
|
||||
continue if track.track_type=='Master'
|
||||
inst = '../assets/content/icon_instrument_default24.png'
|
||||
if track.instrument.id in instrument_logo_map
|
||||
inst = instrument_logo_map[track.instrument.id].asset
|
||||
track.instrument_url = inst
|
||||
track.instrument_desc = track.instrument.description
|
||||
if track.part != ''
|
||||
track.instrument_desc += ' (' + track.part + ')'
|
||||
if track.track_type != 'Master'
|
||||
trackRow.tracks.push(track)
|
||||
if track.track_type=='Master'
|
||||
track.instrument_desc = "Master"
|
||||
else
|
||||
inst = '../assets/content/icon_instrument_default24.png'
|
||||
if track.instrument?
|
||||
if track.instrument.id in instrument_logo_map
|
||||
inst = instrument_logo_map[track.instrument.id].asset
|
||||
track.instrument_desc = track.instrument.description
|
||||
track.instrument_url = inst
|
||||
|
||||
if track.part != ''
|
||||
track.instrument_desc += ' (' + track.part + ')'
|
||||
|
||||
options =
|
||||
jamtrack: jamtrack
|
||||
expanded: that.expanded
|
||||
|
||||
jamtrack: trackRow
|
||||
expanded: jamtrackExpanded
|
||||
@jamtrackItem = $(context._.template($('#template-jamtrack').html(), options, variable: 'data'))
|
||||
that.renderJamtrack(@jamtrackItem)
|
||||
that.renderJamtrack(@jamtrackItem, jamtrack)
|
||||
|
||||
this.registerEvents()
|
||||
|
||||
renderJamtrack:(jamtrackElement, jamTrack) =>
|
||||
@content.append jamtrackElement
|
||||
|
||||
if this.expanded==jamTrack.id
|
||||
for track in jamTrack.tracks
|
||||
trackRow = jamtrackElement.find("[jamtrack-track-id='#{track.id}']")
|
||||
previewElement = trackRow.find(".jamtrack-preview")
|
||||
new JK.JamTrackPreview(@app, previewElement, jamTrack, track, {master_shows_duration: false})
|
||||
|
||||
showJamtrackDescription:(e) =>
|
||||
e.preventDefault()
|
||||
@description = $(e.target).parent('.detail-arrow').next()
|
||||
|
|
@ -200,13 +229,16 @@ context.JK.JamTrackScreen=class JamTrackScreen
|
|||
else
|
||||
@description.hide()
|
||||
|
||||
toggleExpanded:() =>
|
||||
this.expanded = !this.expanded
|
||||
this.refresh()
|
||||
|
||||
renderJamtrack:(jamtrack) =>
|
||||
@content.append jamtrack
|
||||
|
||||
toggleExpanded:(e) =>
|
||||
e.preventDefault()
|
||||
jamtrackRecord = $(e.target).parents('.jamtrack-record')
|
||||
jamTrackId = jamtrackRecord.attr("jamtrack-id")
|
||||
if this.expanded==jamTrackId
|
||||
this.expanded = null
|
||||
else
|
||||
this.expanded = jamTrackId
|
||||
this.rerenderJamtracks()
|
||||
|
||||
initialize:() =>
|
||||
screenBindings =
|
||||
'beforeShow': this.beforeShow
|
||||
|
|
|
|||
|
|
@ -1,243 +0,0 @@
|
|||
$ = jQuery
|
||||
context = window
|
||||
context.JK ||= {}
|
||||
|
||||
context.JK.JamTrackScreen=class JamTrackScreen
|
||||
LIMIT = 10
|
||||
instrument_logo_map = context.JK.getInstrumentIconMap24()
|
||||
|
||||
constructor: (@app) ->
|
||||
@logger = context.JK.logger
|
||||
@screen = null
|
||||
@content = null
|
||||
@scroller = null
|
||||
@genre = null
|
||||
@artist = null
|
||||
@instrument = null
|
||||
@availability = null
|
||||
@nextPager = null
|
||||
@noMoreJamtracks = null
|
||||
@currentPage = 0
|
||||
@next = null
|
||||
@currentQuery = this.defaultQuery()
|
||||
@expanded = false
|
||||
|
||||
beforeShow:(data) =>
|
||||
this.setFilterFromURL()
|
||||
this.refresh()
|
||||
|
||||
afterShow:(data) =>
|
||||
|
||||
events:() =>
|
||||
@genre.on 'change', this.search
|
||||
@artist.on 'change', this.search
|
||||
@instrument.on 'change', this.search
|
||||
@availability.on 'change', this.search
|
||||
|
||||
clearResults:() =>
|
||||
#$logger.debug("CLEARING CONTENT")
|
||||
@currentPage = 0
|
||||
@content.empty()
|
||||
@noMoreJamtracks.hide()
|
||||
@next = null
|
||||
|
||||
setFilterFromURL:() =>
|
||||
# Grab parms from URL for artist, instrument, and availability
|
||||
parms=this.getParams()
|
||||
this.logger.debug("parms", parms)
|
||||
if(parms.artist?)
|
||||
@artist.val(parms.artist)
|
||||
if(parms.instrument?)
|
||||
@instrument.val(parms.instrument)
|
||||
if(parms.availability?)
|
||||
@availability.val(parms.availability)
|
||||
window.history.replaceState({}, "", "/client#/jamtrack")
|
||||
|
||||
getParams:() =>
|
||||
params = {}
|
||||
q = window.location.href.split("?")[1]
|
||||
if q?
|
||||
q = q.split('#')[0]
|
||||
raw_vars = q.split("&")
|
||||
for v in raw_vars
|
||||
[key, val] = v.split("=")
|
||||
params[key] = decodeURIComponent(val)
|
||||
params
|
||||
|
||||
refresh:() =>
|
||||
@currentQuery = this.buildQuery()
|
||||
that = this
|
||||
rest.getJamtracks(@currentQuery).done((response) ->
|
||||
that.clearResults()
|
||||
that.handleJamtrackResponse(response)
|
||||
).fail (jqXHR) ->
|
||||
that.clearResults()
|
||||
that.noMoreJamtracks.show()
|
||||
that.app.notifyServerError jqXHR, 'Jamtrack Unavailable'
|
||||
|
||||
search:() =>
|
||||
this.refresh()
|
||||
false
|
||||
|
||||
defaultQuery:() =>
|
||||
query =
|
||||
per_page: LIMIT
|
||||
page: @currentPage+1
|
||||
if @next
|
||||
query.since = @next
|
||||
query
|
||||
|
||||
buildQuery:() =>
|
||||
@currentQuery = this.defaultQuery()
|
||||
# genre filter
|
||||
# var genres = @screen.find('#jamtrack_genre').val()
|
||||
# if (genres !== undefined) {
|
||||
# @currentQuery.genre = genres
|
||||
# }
|
||||
# instrument filter
|
||||
|
||||
instrument = @instrument.val()
|
||||
if instrument?
|
||||
@currentQuery.instrument = instrument
|
||||
|
||||
# artist filter
|
||||
art = @artist.val()
|
||||
if art?
|
||||
@currentQuery.artist = art
|
||||
|
||||
# availability filter
|
||||
availability = @availability.val()
|
||||
if availability?
|
||||
@currentQuery.availability = availability
|
||||
@currentQuery
|
||||
|
||||
handleJamtrackResponse:(response) =>
|
||||
#logger.debug("Handling response", JSON.stringify(response))
|
||||
@next = response.next
|
||||
this.renderJamtracks(response)
|
||||
if response.next == null
|
||||
# if we less results than asked for, end searching
|
||||
@scroller.infinitescroll 'pause'
|
||||
if @currentPage == 0 and response.jamtracks.length == 0
|
||||
@content.append '<div class=\'no-jamtracks-msg\'>There\'s no jamtracks.</div>'
|
||||
if @currentPage > 0
|
||||
@noMoreJamtracks.show()
|
||||
# there are bugs with infinitescroll not removing the 'loading'.
|
||||
# it's most noticeable at the end of the list, so whack all such entries
|
||||
$('.infinite-scroll-loader').remove()
|
||||
else
|
||||
@currentPage++
|
||||
this.buildQuery()
|
||||
this.registerInfiniteScroll()
|
||||
|
||||
|
||||
registerInfiniteScroll:() =>
|
||||
@scroller.infinitescroll {
|
||||
behavior: 'local'
|
||||
navSelector: '#jamtrackScreen .btn-next-pager'
|
||||
nextSelector: '#jamtrackScreen .btn-next-pager'
|
||||
binder: @scroller
|
||||
dataType: 'json'
|
||||
appendCallback: false
|
||||
prefill: false
|
||||
bufferPx: 100
|
||||
loading:
|
||||
msg: $('<div class="infinite-scroll-loader">Loading ...</div>')
|
||||
img: '/assets/shared/spinner.gif'
|
||||
path: (page) ->
|
||||
'/api/jamtracks?' + $.param(this.buildQuery())
|
||||
|
||||
}, (json, opts) ->
|
||||
this.handleJamtrackResponse(json)
|
||||
@scroller.infinitescroll 'resume'
|
||||
|
||||
playJamtrack:(e) =>
|
||||
e.preventDefault()
|
||||
|
||||
addToCartJamtrack:(e) =>
|
||||
e.preventDefault()
|
||||
params = id: $(e.target).attr('data-jamtrack-id')
|
||||
rest.addJamtrackToShoppingCart(params).done((response) ->
|
||||
context.location = '/client#/shoppingCart'
|
||||
).fail @app.ajaxError
|
||||
|
||||
licenseUSWhy:(e) =>
|
||||
e.preventDefault()
|
||||
@app.layout.showDialog 'jamtrack-availability-dialog'
|
||||
|
||||
registerEvents:() =>
|
||||
@screen.find('.jamtrack-detail-btn').on 'click', this.showJamtrackDescription
|
||||
@screen.find('.play-button').on 'click', this.playJamtrack
|
||||
@screen.find('.jamtrack-add-cart').on 'click', this.addToCartJamtrack
|
||||
@screen.find('.license-us-why').on 'click', this.licenseUSWhy
|
||||
@screen.find('.jamtrack-detail-btn').on 'click', this.toggleExpanded
|
||||
|
||||
renderJamtracks:(data) =>
|
||||
that = this
|
||||
for jamtrack in data.jamtracks
|
||||
for track in jamtrack.tracks
|
||||
continue if track.track_type=='Master'
|
||||
inst = '../assets/content/icon_instrument_default24.png'
|
||||
if track.instrument.id in instrument_logo_map
|
||||
inst = instrument_logo_map[track.instrument.id].asset
|
||||
track.instrument_url = inst
|
||||
track.instrument_desc = track.instrument.description
|
||||
if track.part != ''
|
||||
track.instrument_desc += ' (' + track.part + ')'
|
||||
|
||||
options =
|
||||
jamtrack: jamtrack
|
||||
expanded: that.expanded
|
||||
|
||||
@jamtrackItem = $(context._.template($('#template-jamtrack').html(), options, variable: 'data'))
|
||||
that.renderJamtrack(@jamtrackItem)
|
||||
this.registerEvents()
|
||||
|
||||
showJamtrackDescription:(e) =>
|
||||
e.preventDefault()
|
||||
@description = $(e.target).parent('.detail-arrow').next()
|
||||
if @description.css('display') == 'none'
|
||||
@description.show()
|
||||
else
|
||||
@description.hide()
|
||||
|
||||
toggleExpanded:() =>
|
||||
this.expanded = !this.expanded
|
||||
this.refresh()
|
||||
|
||||
renderJamtrack:(jamtrack) =>
|
||||
@content.append jamtrack
|
||||
|
||||
initialize:() =>
|
||||
screenBindings =
|
||||
'beforeShow': this.beforeShow
|
||||
'afterShow': this.afterShow
|
||||
@app.bindScreen 'jamtrack', screenBindings
|
||||
@screen = $('#jamtrack-find-form')
|
||||
@scroller = @screen.find('.content-body-scroller')
|
||||
@content = @screen.find('.jamtrack-content')
|
||||
@genre = @screen.find('#jamtrack_genre')
|
||||
@artist = @screen.find('#jamtrack_artist')
|
||||
@instrument = @screen.find('#jamtrack_instrument')
|
||||
@availability = @screen.find('#jamtrack_availability')
|
||||
@nextPager = @screen.find('a.btn-next-pager')
|
||||
@noMoreJamtracks = @screen.find('.end-of-jamtrack-list')
|
||||
if @screen.length == 0
|
||||
throw new Error('@screen must be specified')
|
||||
if @scroller.length == 0
|
||||
throw new Error('@scroller must be specified')
|
||||
if @content.length == 0
|
||||
throw new Error('@content must be specified')
|
||||
if @noMoreJamtracks.length == 0
|
||||
throw new Error('@noMoreJamtracks must be specified')
|
||||
#if(@genre.length == 0) throw new Error("@genre must be specified")
|
||||
|
||||
if @artist.length == 0
|
||||
throw new Error('@artist must be specified')
|
||||
if @instrument.length == 0
|
||||
throw new Error('@instrument must be specified')
|
||||
if @availability.length == 0
|
||||
throw new Error('@availability must be specified')
|
||||
this.events()
|
||||
|
||||
|
||||
|
|
@ -90,13 +90,13 @@
|
|||
}
|
||||
|
||||
.jamtrack-record {
|
||||
border-bottom: 1px solid black;
|
||||
//border-bottom: 1px solid black;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.jamtrack-detail {
|
||||
width: 35%;
|
||||
@include border_box_sizing;
|
||||
float: left;
|
||||
width: 30%;
|
||||
padding: 10px 0px;
|
||||
.detail-label {
|
||||
|
|
@ -127,22 +127,21 @@
|
|||
.jamtrack-description {
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.jamtrack-detail-btn {
|
||||
cursor: pointer;
|
||||
margin-top: 7px;
|
||||
margin-right: 5px;
|
||||
padding-top: 5px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.jamtrack-detail-btn {
|
||||
cursor: pointer;
|
||||
margin-top: 7px;
|
||||
margin-right: 5px;
|
||||
padding-top: 5px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.jamtrack-tracks {
|
||||
@include border_box_sizing;
|
||||
float: left;
|
||||
width: 50%;
|
||||
padding: 10px 0px;
|
||||
|
||||
width: 35%;
|
||||
padding: 10px 0px;
|
||||
.tracks-caption {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 10px;
|
||||
|
|
@ -163,14 +162,17 @@
|
|||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.jamtrack-track {
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
.jamtrack-action {
|
||||
@include border_box_sizing;
|
||||
float: left;
|
||||
width: 20%;
|
||||
padding: 10px 0px;
|
||||
width: 35%;
|
||||
// padding: 0px 0px;
|
||||
text-align: center;
|
||||
|
||||
// vertical-align: top;
|
||||
.play-button {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,30 +9,24 @@
|
|||
=render(:partial => "web_filter", :locals => {:search_type => Search::PARAM_JAMTRACK})
|
||||
.filter-body
|
||||
.content-body-scroller
|
||||
.profile-wrapper
|
||||
.jamtrack-content
|
||||
.profile-wrapper
|
||||
table.generaltable
|
||||
thead
|
||||
tr
|
||||
th JAMTRACK
|
||||
th TRACKS INCLUDED/PREVIEW
|
||||
th SHOP
|
||||
tbody.jamtrack-content
|
||||
a.btn-next-pager href="/api/jamtracks?page=1" Next
|
||||
.end-of-jamtrack-list.end-of-list="No more Jamtracks"
|
||||
|
||||
script#template-jamtrack type='text/template'
|
||||
.jamtrack-record jamtrack-id="{{data.jamtrack.id}}"
|
||||
.top_bar
|
||||
.jamtrack-detail.jamtrack-header JAMTRACK
|
||||
.jamtrack-tracks.jamtrack-header TRACKS INCLUDED/PREVIEW
|
||||
.jamtrack-action.jamtrack-header SHOP
|
||||
.jamtrack-detail
|
||||
tr.jamtrack-record jamtrack-id="{{data.jamtrack.id}}"
|
||||
td.jamtrack-detail
|
||||
.detail-label
|
||||
| Title:
|
||||
.detail-value
|
||||
| {{data.jamtrack.name}}
|
||||
/ .clearall.detail-label
|
||||
/ | Type:
|
||||
/ .detail-value
|
||||
/ | {{data.jamtrack.recording_type}}
|
||||
/ .clearall.detail-label
|
||||
/ | Original Artist:
|
||||
/ .detail-value
|
||||
/ | {{data.jamtrack.original_artist}}
|
||||
.clearall.detail-label
|
||||
| Original Artist:
|
||||
.detail-value
|
||||
|
|
@ -55,46 +49,27 @@ script#template-jamtrack type='text/template'
|
|||
.detail-value
|
||||
| {{data.jamtrack.description}}
|
||||
="{% } %}"
|
||||
|
||||
|
||||
/ / / .clearall.detail-label
|
||||
/ | Copyright:
|
||||
/ .copyright-value
|
||||
/ ="{% if (data.jamtrack.licensor !=null) { %}"
|
||||
/ | {{data.jamtrack.licensor.name}}
|
||||
/ ="{% }; %}"
|
||||
/ .clearall.jamtrack-description
|
||||
/ .detail-label
|
||||
/ | Description
|
||||
/ .detail-value
|
||||
/ | {{data.jamtrack.description}}
|
||||
/ .clearall
|
||||
.jamtrack-tracks
|
||||
/ .tracks-caption
|
||||
/ | Tracks in This Recording:
|
||||
="{% counter = 0 %}"
|
||||
="{% _.each(data.jamtrack.tracks, function(track) { %}"
|
||||
="{% if(track.track_type == JK.MASTER_TRACK) return; %}"
|
||||
.track-instrument href="{{track.url_44}}"
|
||||
.instrument-image
|
||||
img src="/assets/shared/play_button.png" width=24 height=24
|
||||
.instrument-image
|
||||
img src="{{track.instrument_url}}" width=24 height=24
|
||||
.instrument-desc
|
||||
| {{track.instrument_desc}}
|
||||
.clearall
|
||||
="{% }); %}"
|
||||
td.jamtrack-tracks
|
||||
.detail-arrow
|
||||
.jamtrack-detail-btn
|
||||
.jamtrack-detail-btn.orange
|
||||
="{% if (data.expanded) { %}"
|
||||
| hide tracks
|
||||
=image_tag("up_arrow.png")
|
||||
| hide tracks ({{data.jamtrack.tracks.length}})
|
||||
a.details-arrow.arrow-up-orange
|
||||
="{% } else { %}"
|
||||
| preview all tracks
|
||||
=image_tag("down_arrow.png")
|
||||
| show tracks ({{data.jamtrack.tracks.length}})
|
||||
a.details-arrow.arrow-down-orange
|
||||
="{% } %}"
|
||||
|
||||
.jamtrack-action
|
||||
="{% if (data.expanded) { %}"
|
||||
="{% _.each(data.jamtrack.tracks, function(track) { %}"
|
||||
.jamtrack-track jamtrack-track-id="{{track.id}}"
|
||||
/ .instrument-desc
|
||||
/ | {{track.instrument_desc}}
|
||||
/.track-instrument
|
||||
.jamtrack-preview
|
||||
.clearall
|
||||
="{% }); %}"
|
||||
="{% } %}"
|
||||
td.jamtrack-action
|
||||
/ a.play-button href="#" data-jamtrack-id="{{data.jamtrack.id}}"
|
||||
/ =image_tag "shared/play_button.png"
|
||||
.jamtrack-price
|
||||
|
|
@ -108,7 +83,6 @@ script#template-jamtrack type='text/template'
|
|||
="{% }; %}"
|
||||
="{% if (data.jamtrack.sales_region==JK.AVAILABILITY_US) { %}"
|
||||
.jamtrack-license
|
||||
| This JamTrack available only to US customers.
|
||||
a.license-us-why href="#", why?
|
||||
| This JamTrack available only to US customers.
|
||||
a.license-us-why.orange href="#" why?
|
||||
="{% }; %}"
|
||||
.clearall
|
||||
|
|
|
|||
|
|
@ -49,15 +49,12 @@ describe "JamTrack Shopping", :js => true, :type => :feature, :capybara_feature
|
|||
find('#jamtrack-availability-dialog #dialog-close-button').trigger(:click)
|
||||
end
|
||||
|
||||
jamtrack.jam_track_tracks.each do |track|
|
||||
jamtrack_record.find('.instrument-desc', "#{track.instrument.description} ( #{track.part} }")
|
||||
end
|
||||
|
||||
if options[:added_cart]
|
||||
jamtrack_record.find('a.jamtrack-add-cart-disabled', text: 'Already In Cart')
|
||||
else
|
||||
jamtrack_record.find('a.jamtrack-add-cart.button-orange', text: 'Add to Cart')
|
||||
end
|
||||
jamtrack_record
|
||||
end
|
||||
|
||||
def not_find_jamtrack jamtrack
|
||||
|
|
@ -144,5 +141,16 @@ describe "JamTrack Shopping", :js => true, :type => :feature, :capybara_feature
|
|||
|
||||
find('.shopping-sub-total', text: "Subtotal: $ #{jt_us.price + jt_ww.price}")
|
||||
end
|
||||
|
||||
it "can expand" do
|
||||
jamtrack = find_jamtrack(jt_us)
|
||||
jamtrack.find('.jamtrack-detail-btn').trigger(:click)
|
||||
|
||||
jt_us.jam_track_tracks.each do |track|
|
||||
jamtrack.find('.instrument-name', track.instrument.description)
|
||||
jamtrack.find('.part', "(#{track.part}}")
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue