(function(context,$) { "use strict"; context.JK = context.JK || {}; context.JK.FindMusicianScreen = function(app) { var logger = context.JK.logger; var musicians = {}; var musicianList; var instrument_logo_map = context.JK.getInstrumentIconMap24(); var did_show_musician_page = false; var page_num=1, page_count=0; function loadMusicians(queryString) { // squelch nulls and undefines queryString = !!queryString ? queryString : ""; $.ajax({ type: "GET", url: "/api/search.json?" + queryString, success: afterLoadMusicians, error: app.ajaxError }); } function search() { did_show_musician_page = true; var queryString = 'srch_m=1&page='+page_num+'&'; // order by var orderby = $('#musician_order_by').val(); if (typeof orderby != 'undefined' && orderby.length > 0) { queryString += "orderby=" + orderby + '&'; } // instrument filter var instrument = $('#musician_instrument').val(); if (typeof instrument != 'undefined' && !(instrument === '')) { queryString += "instrument=" + instrument + '&'; } // distance filter var query_param = $('#musician_query_distance').val(); if (query_param !== null && query_param.length > 0) { var matches = query_param.match(/(\d+)/); if (0 < matches.length) { var distance = matches[0]; queryString += "distance=" + distance + '&'; } } loadMusicians(queryString); } function refreshDisplay() { clearResults(); search(); } function afterLoadMusicians(mList) { // display the 'no musicians' banner if appropriate var $noMusiciansFound = $('#musicians-none-found'); musicianList = mList; if(musicianList.length == 0) { $noMusiciansFound.show(); musicians = []; } else { $noMusiciansFound.hide(); musicians = musicianList['musicians']; if (!(typeof musicians === 'undefined')) { $('#musician-filter-city').text(musicianList['city']); if (0 == page_count) { page_count = musicianList['page_count']; } renderMusicians(); } } } function renderMusicians() { var ii, len; var mTemplate = $('#template-find-musician-row').html(); var fTemplate = $('#template-musician-follow-info').html(); var aTemplate = $('#template-musician-action-btns').html(); var mVals, mm, renderings=''; var instr_logos, instr; var follows, followVals, aFollow; for (ii=0, len=musicians.length; ii < len; ii++) { mm = musicians[ii]; if (context.JK.currentUserId === mm.id) { // VRFS-294.3 (David) => skip if current user is musician continue; } instr_logos = ''; for (var jj=0, ilen=mm['instruments'].length; jj '; } follows = ''; followVals = {}; for (var jj=0, ilen=mm['followings'].length; jj= $(this)[0].scrollHeight) { if (page_num < page_count) { page_num += 1; search(); } } }); } function initialize() { var screenBindings = { 'beforeShow': beforeShow, 'afterShow': afterShow }; app.bindScreen('musicians', screenBindings); events(); } this.initialize = initialize; this.renderMusicians = renderMusicians; this.afterShow = afterShow; this.clearResults = clearResults; return this; }; })(window,jQuery);