/*global app, _, $, console, kaleplay, window*/ /*jslint this:true*/ (function () { 'use strict'; var detail_section_3_maker = function (res) { var s3htmls = ''; _.each(res.detail_section_3, function (el) { s3htmls += '
'; s3htmls += ''; s3htmls += ''; s3htmls += '' + el.title + ''; s3htmls += '
'; }); return s3htmls; }; var detail_section_2_maker = function (res) { var s2htmls = ''; _.each(res.detail_section_2, function (el) { s2htmls += '
'; s2htmls += '

• ' + el.title + '

'; s2htmls += '

' + el.contents + '

'; s2htmls += '
'; }); return s2htmls; }; var category_maker = function (categorys) { console.log(categorys); var name_map = { analy: '분석도구', trading: '매매도구', calc: '계산도구', admin: '운영도구', dev: '개발도구' }; var html = ''; _.each(categorys, function (cc) { html += '' + name_map[cc] + ''; }); return html; }; var type_maker = function (types) { console.log(types); var name_map = { desktop: '데스크탑', mobile: '모바일', web: '웹' }; var html = ''; _.each(types, function (cc) { html += '' + name_map[cc] + ''; }); return html; }; var work_maker = function (match) { console.log(match); return ' 이 컴퓨터에서 작동'; }; var lang_maker = function (match) { console.log(match); return '한국어'; }; var side_update = function (match) { app.getdom('detail_side_category').html(category_maker(match.category)); app.getdom('detail_side_platform').html(type_maker(match.type)); app.getdom('detail_side_iswork').html(work_maker(match)); app.getdom('detail_side_langs').text(lang_maker(match)); app.getdom('detail_side_version').text(match.version); }; var opener_html = function (match) { var pid = match.product_id; var istd = _.find(app.memdata.installed, function (ee) { return ee.product_id === pid; }); var open_text = '열기'; var data_type = 'web_open'; if (match.url === null && istd === undefined) { open_text = '설치'; data_type = 'client_install'; } else if (match.url === null && istd !== undefined) { data_type = 'client_open'; } var htmls = '' + open_text; htmls += ''; var cons = data_type === 'client_install' || data_type === 'client_open'; if (window.mobile_check() === true && cons) { htmls = ''; } app.getdom('header_menu_opener').html(htmls); app.getdom('header_menu_opener').find('.detail-button').on('click', function (ev) { ev.preventDefault(); var $this = $(this); app.events.header_menu_opener($this); }); }; var update_page = function (res, match) { app.getdom('detail_section_banner').css({ 'background-image': 'url(' + res.detail_section_banner.url + ')' }); app.getdom('detail_section_1_title').text(res.detail_section_1.title); app.getdom('detail_section_1_contents').text(res.detail_section_1.contents); app.getdom('detail_section_3_title').text(res.detail_section_3_title); app.getdom('detail_section_2_list').html(detail_section_2_maker(res)); app.getdom('detail_section_3_list').html(detail_section_3_maker(res)); opener_html(match); side_update(match); app.getdom('detail_section').show(); app.events.loader_fadeout(); }; var detail_show = function (pid) { var match = _.find(app.memdata.products, function (el) { return el.product_id === pid; }); if (match === undefined) { return false; } console.log(match); $('title').text(match.name + '::' + match.description); app.getdom('header_menu_opener').show(); app.getdom('detail_section_2').show(); app.getdom('detail_section_3').show(); app.getdom('detail_section_banner').show(); app.getdom('header_menu_section').hide(); app.getdom('banner').hide(); app.getdom('installed_section').hide(); app.getdom('available_section').hide(); app.getdom('detail_side').show(); app.events.loader_show(); kaleplay.pages.get(pid, function (err, res) { if (err || res.data === undefined) { update_page({ detail_section_banner: { url: './img_detail/default.jpg', title: '' }, detail_section_1: { title: '개요 및 주요 기능', contents: '본 제품에 대한 설명서는 아직 준비중입니다.' }, detail_section_24: [], detail_section_3_title4: '', detail_section_34: [] }, match); return false; } if (res.data) { update_page(res.data, match); } }); }; var detail = { init: function (pid) { var match = _.find(app.memdata.products, function (ee) { return ee.product_id === pid; }); if (match) { detail_show(pid); var title_html = ''; title_html += ''; title_html += '' + match.name + ''; app.getdom('header_menu_title').html(title_html); } } }; app.route.detail = detail; }());