PageSourceSearch

https://www.solaseedair.jp/_shared/js/module_2nd/domtour2nd_module_tab.js?t=1747214677794

js solaseedair.jp collected 2026-10-02 04:21:35 UTC 10,276 bytes, 218 lines download raw bytes

1/*=====================================================
2* Script Name: module_domtour2nd_tab.js
3* Description: 空席照会モジュール 海外ツアー・2nd用・国内旅行タブ
4* Version: 0.01
5* Last Up Date: 2017/7/19
6=====================================================*/
7
8var m_domtour2ndModuleTab_siteType = { site : 'domtour2nd', module : 'tab' };
9
10var m_domtour2ndModuleTab_AREA_CODE_JP_tabSelFuncDom = '01';
11
12//初期値設定
13var m_domtour2ndModuleTab_defaults = {
14	m_defInitTab:'1',				// 機能タブ '1'(国内旅作) or '2'(国内パッケージ) or '3'(国内ホテル) or '4'(国内レンタカー) or '5'(国内観光) or '6'(国内ツアー一括)
15//	m_defIsDispDomDp:true,			// 国内旅作タブ表示スイッチ デフォルト値はmainに記述済
16//	m_defIsDispDomPkg:true,			// 国内パッケージタブ表示スイッチ デフォルト値はmainに記述済
17//	m_defIsDispDomHotel:true,		// 国内ホテルタブ表示スイッチ デフォルト値はmainに記述済
18//  m_defIsDispDomHotelBUlk:true,	// 国内ホテル(3社一括)タブ表示スイッチ デフォルト値はmainに記述済
19//	m_defIsDispDomCar:true,			// 国内レンタカータブ表示スイッチ デフォルト値はmainに記述済
20//	m_defIsDispDomTraffic:true,		// 国内観光タブ表示スイッチ デフォルト値はmainに記述済
21//	m_defIsDispDomBulk:true,		// 国内ツアー一括タブ表示スイッチ デフォルト値はmainに記述済
22};
23
24// defaults値保持のため、shallow copy
25var m_domtour2ndModuleTab_optionParam = $tour_module_jq.extend(m_domtour2ndModuleTab_optionParam, m_domtour2ndModuleTab_defaults);
26
27function m_domtour2ndModuleTab_setParams(options){
28	m_domtour2ndModuleTab_optionParam = $tour_module_jq.extend(m_domtour2ndModuleTab_optionParam, options);
29};
30
31// 指定文字列の配列内存在チェック
32function m_domtour2ndModuleTab_getStrArrayMatchAll(targetStr, arrayStr){
33	if($tour_module_jq.inArray(targetStr, arrayStr) != -1){
34		return true;
35	}
36	return false;
37};
38
39/**
40 * 国際線2ndモジュールHTML埋め込み処理
41 */
42function m_domtour2ndModuleTab_secondModuleDisplay(options) {
43
44	// テキスト設定
45	var tabisakuLabelText = m_tourModuleCommon_getListValue(m_domtour2ndModuleTab_tabisakuLabel, 'Text');
46	var packageTourLabelText = m_tourModuleCommon_getListValue(m_domtour2ndModuleTab_packageTourLabel, 'Text');
47	var hotelLabelText = m_tourModuleCommon_getListValue(m_domtour2ndModuleTab_hotelLabel, 'Text');
48	var carLabelText = m_tourModuleCommon_getListValue(m_domtour2ndModuleTab_carLabel, 'Text');
49	var trafficLabelText = m_tourModuleCommon_getListValue(m_domtour2ndModuleTab_trafficLabel, 'Text');
50	var bulkText = m_tourModuleCommon_getListValue(m_domtour2ndModuleTab_bulkLabel, 'Text');
51
52	// 画面レイアウト
53	var html = '';
54	html += '<ul class="mod-type_select mod-radio-group">\n';
55	html += '<li class="is-current m_tabisakuTab-btnwrap"><a class="js-mod-list-tab_btn m_tabisakuTab" data-tab-target="module-dom-tabisaku" href="javascript:void(0);">' + tabisakuLabelText + '</a></li>\n';
56	html += '<li class="m_packTourTab-btnwrap"><a class="js-mod-list-tab_btn m_packTourTab" data-tab-target="module-dom-pgtour" href="javascript:void(0);">' + packageTourLabelText + '</a></li>\n';
57	html += '<li class="m_hotelTab-btnwrap"><a class="js-mod-list-tab_btn m_hotelTab" data-tab-target="module-dom-hotel" href="javascript:void(0);">' + hotelLabelText + '</a></li>\n';
58	html += '<li class="m_hotelBulkTab-btnwrap"><a class="js-mod-list-tab_btn m_hotelBulkTab" data-tab-target="module-dom-hotel3" href="javascript:void(0);">' + hotelLabelText + '</a></li>\n';
59	html += '<li class="m_carTab-btnwrap"><a class="js-mod-list-tab_btn m_carTab" data-tab-target="module-dom-car" href="javascript:void(0);">' + carLabelText + '</a></li>\n';
60	html += '<li class="m_trafficTab-btnwrap"><a class="js-mod-list-tab_btn m_trafficTab" data-tab-target="module-dom-traffic" href="javascript:void(0);">' + trafficLabelText + '</a></li>\n';
61	html += '<li class="m_bulkTab-btnwrap"><a class="js-mod-list-tab_btn m_bulkTab" data-tab-target="module-dom-bulk" href="javascript:void(0);">' + bulkText + '</a></li>\n';
62	html += '</ul>\n';
63
64	this.prepend(html);
65
66	m_domtour2ndModuleTab_setDefVal(this, options);
67};
68
69function m_domtour2ndModuleTab_setDefVal(target, options){
70
71	// 国内旅作タブ表示スイッチ
72	var defIsDispTabisaku = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispD
72omDp');
73	// 国内パッケージタブ表示スイッチ
74	var defIsDispPackTour = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispDomPkg');
75	// 国内ホテルタブ表示スイッチ
76	var defIsDispHotel = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispDomHotel');
77	// 国内ホテル(3社一括)タブ表示スイッチ
78	var defIsDispHotelBulk = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispDomHotelBulk');
79	// 国内レンタカータブ表示スイッチ
80	var defIsDispCar = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispDomCar');
81	// 国内観光タブ表示スイッチ
82	var defIsDispTraffic = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispDomTraffic');
83	// 国内ツアータブ表示スイッチ
84	var defIsDispBulk = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defIsDispDomBulk');
85	
86	// 国内タブ初期選択
87	var defDispTabIndex = m_tourModuleCommon_getParam(m_domtour2ndModuleTab_siteType, options, 'm_defInitTab');
88	
89	// 「旅作」タブ表示/非表示制御
90	if (defIsDispTabisaku) {
91		target.find('.m_tabisakuTab').css('display', null);
92	} else {
93		target.find('.m_tabisakuTab').css('display', 'none');
94	}
95
96	// 「パッケージツアー」タブ表示/非表示制御
97	if (defIsDispPackTour) {
98		target.find('.m_packTourTab').css('display', null);
99	} else {
100		target.find('.m_packTourTab').css('display', 'none');
101	}
102	
103	// 「ホテル」タブ表示/非表示制御
104	if (defIsDispHotel) {
105		target.find('.m_hotelTab').css('display', null);
106	} else {
107		target.find('.m_hotelTab').css('display', 'none');
108	}
109	
110	// 「ホテル」(3社一括)タブ表示/非表示制御
111	if (defIsDispHotelBulk) {
112		target.find('.m_hotelBulkTab').css('display', null);
113	} else {
114		target.find('.m_hotelBulkTab').css('display', 'none');
115	}
116	
117	// 「レンタカー」タブ表示/非表示制御
118	if (defIsDispCar) {
119		target.find('.m_carTab').css('display', null);
120	} else {
121		target.find('.m_carTab').css('display', 'none');
122	}
123	
124	// 「観光」タブ表示/非表示制御
125	if (defIsDispTraffic) {
126		target.find('.m_trafficTab').css('display', null);
127	} else {
128		target.find('.m_trafficTab').css('display', 'none');
129	}
130	
131	// 「ツアー」タブ表示/非表示制御
132	if (defIsDispBulk) {
133		target.find('.m_bulkTab').css('display', null);
134	} else {
135		target.find('.m_bulkTab').css('display', 'none');
136	}
137	
138	// 更新時カレントタブ制御(「旅作」「海外パッケージ」モジュールの操作)
139	var $box = target;
140	var currentTab = undefined;
141	if (defDispTabIndex == '1' && defIsDispTabisaku) {
142		currentTab = target.find('.m_tabisakuTab');
143	} else if (defDispTabIndex == '2' && defIsDispPackTour) {
144		currentTab = target.find('.m_packTourTab');
145	}else if (defDispTabIndex == '3' && defIsDispHotel) {
146		currentTab = target.find('.m_hotelTab');
147	}else if (defDispTabIndex == '4' && defIsDispHotelBulk) {
148		currentTab = target.find('.m_hotelBulkTab');
149	}else if (defDispTabIndex == '5' && defIsDispCar) {
150		currentTab = target.find('.m_carTab');
151	}else if (defDispTabIndex == '6' && defIsDispTraffic) {
152		currentTab = target.find('.m_trafficTab');
153	}else if (defDispTabIndex == '7' && defIsDispBulk) {
154		currentTab = target.find('.m_bulkTab');
155	}
156
157	if(!$tour_module_jq(currentTab)[0]){
158		// 初期表示指定の要素が非表示の場合、表示される機能の先頭を表示する
159		if(defIsDispTabisaku){
160			currentTab = target.find('.m_tabisakuTab');
161		}else if(defIsDispPackTour){
162			currentTab = target.find('.m_packTourTab');
163		}else if(defIsDispHotel){
164			currentTab = target.find('.m_hotelTab');
165		}else if(defIsDispHotelBulk){
166			currentTab = target.find('.m_hotelBulkTab');
167		}else if(defIsDispCar){
168			currentTab = target.find('.m_carTab');
169		}else if(defIsDispTraffic){
170			currentTab = target.find('.m_trafficTab');
171		}else if(defIsDispBulk){
172			currentTab = target.find('.m_bulkTab');
173		}
174	}
175
176	var $targetTab = $box.find('.' + $tour_module_jq(currentTab).attr('data-tab-target'));
177
178	var currentParentLi = currentTab.parent('li');
179	currentParentLi.siblings().removeClass('is-current');
180	currentParentLi.addClass('is-current');
181
182	if ($targetTab[0]) {
183		$box.find('.js-mod-list-tab_contents').removeClass('is-active');
184		$targetTab.addClass('is-active');
185	}
186
187
188	// 国内タブ内モジュール(旅作/パッケージ/ホテル/レンタカー/観光/ツアー)選択イベント
189	target.find('.js-mod-list-tab_btn').on('click', function (e) {
190	    if (!m_tour2ndModuleCommon.clickEvent(e)) return true;
191	    e.preventDefault();
192		var $box = $tour_module_jq(this).closest('.js-mod-list-tab');
193		var $target = $box.find('.' + $tour_module_jq(this).attr('data-tab-target'));
194		var $parentLi = $tour_module_jq(this).parent('li');
195		$parentLi.siblings().removeClass('is-current');
196		$parentLi.addClass('is-current');
197
198		if ($target[0]) {
199			$box.find('.js-mod-list-tab_contents').removeClass('is-active');
200			$target.addClass('is-active');
201		}
202	});
203};
204
205
206// 外部公開メソッドの定義
207$tour_module_jq.fn.domtour2ndModuleTab = function(method) {
208	var methods = {
209		'privateSetParams' : m_domtour2ndModuleTab_setParams,
210		'privateSecondModuleDisplay' : m_domtour2ndModuleTab_secondModuleDisplay
211	};
212
213	if (methods[method]) {
214		  return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
215	} else {
216		$tour_module_jq.error('Method ' +  method + ' does not exist on $tour_module_jq.domtour2ndModuleTab');
217	}
218};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.