/* config はconfig.jsに設定しています。 function for on select plan @param1 [obj] : options @return [obj] : functions */ 'use strict'; $.fn.selectPlan = function(options) { const defaults = { api_url : config.api_url } const settings = $.extend( {}, defaults, options ); const _this = this; const _apiUrl = settings.api_url; let _storeID; const events = { onChange : function() {} } // on change this.on('change', function() { var _thisEl = $(this); var val = parseInt(_thisEl.val()); var planID = _this.val(); _state.planId = val; var data = { storeID : _storeID, planID : planID, }; $.ajax({ type : "post", url : _apiUrl+"forms.php", data : data }).done(function(res){ if(res.data) { _thisEl.closest('.plan_container').find('.plan_box').html(res.data.raw_html); events.onChange(res.data); $('#reservation .step3').show(); $('#reservation .step3').removeClass('active'); $('#reservation .step3').addClass('fixed'); } else { _thisEl.closest('.plan_container').find('.plan_box').html(''); events.onChange({}); $('#reservation .step3').hide(); } //console.log(_state.planTime); }).error(function(e){ console.log(e); }); }); // html for plan select // @param1 [obj] : group_plans function planHtml(group_plans) { var sub_opt; var options = ''; $.each(group_plans, function(i, group) { sub_opt = ''; $.each(group.plans, function(i, plan) { options += ''; }); //options += ''+sub_opt+''; }); _this.html(options); return false; } // renders plan // @param1 [int] : store id var renderPlan = function(storeID,menuName) { _storeID = storeID; var data = { storeID : _storeID, menuName : menuName }; var action = _apiUrl+'plans.php'; // $.ajax({ type : 'POST', url : action, data : data }) .done(function(data) { _state.aryTime = data.ary_time; _state.storeTel = data.tel; if(data.error == 0) { planHtml(data.group_plans); } }).error(function(e){ console.log(e); }); return false; } return { events: events, renderPlan: renderPlan }; } // end of $.fn.selectStudio