PageSourceSearch

https://koreanssan.com/js/alarm_menu.js?1683615433

js koreanssan.com collected 2026-09-24 14:15:24 UTC 4,718 bytes, 164 lines download raw bytes

1var ALARM_MENU = function(){
2	var alarm_list_page = 1;
3	var alarm_list_page_more = true;
4	var $alarm_slide, $alarm_slide_container, $alarm_backdrop;
5	var $tab;
6	var $more_btn;
7	var $scroll_wrap;
8	var $list_obj;
9	var $setting_obj;
10	var $title_obj;
11	var status;
12	var $body;
13	var open_class = 'notification_show';
14	var is_close_alarm = false;
15	var init = function(){
16		$body = $('body');
17		$alarm_slide_container = $('#site_alarm_slidemenu_container');
18		$alarm_slide = $('#site_alarm_slidemenu');
19		$alarm_backdrop = $('#site_alarm_slidemenu_backdrop');
20		$alarm_backdrop.on('click',function(){
21			is_close_alarm = true;
22			showAlarmSlide();
23		});
24		$tab = $("#site_alarm_tab");
25		$more_btn = $("#site_alarm_more_btn");
26		$list_obj = $("#site_alarm_list_wrap");
27		$setting_obj = $("#site_alarm_setting_wrap");
28		$title_obj = $("#site_alarm_title");
29		$scroll_wrap = $alarm_slide.find('._scroll_wrap');
30
31	};
32	var getHeaderAlarmList =  function () {
33		$more_btn.hide();
34		if (alarm_list_page_more) {
35			if (alarm_list_page == 1) $tab.empty();
36			$.ajax({
37				type: 'GET',
38				url: ('/ajax/alarm/get_header_alarm_list.cm'),
39				dataType: 'json',
40				data: {page: alarm_list_page},
41				async: true,
42				cache: false,
43				success: function (obj) {
44					if(IS_ANDROID_APP === 'Y' &&  APP_VERSION >= 94000){
45						window.dozAndroidBridge.updateIconBadge(0,"alarm");
46					}
47					ALARM_BADGE.updateBadge();
48					alarm_list_page = obj.page;
49					alarm_list_page_more = obj.more === "Y";
50					$tab.append(obj.html);
51					if (alarm_list_page_more) $more_btn.show();
52				}
53			});
54		}
55	};
56
57	var toggleAlarmSetting = function(force){
58		var is_setting = $alarm_slide.data('mode')=='setting';
59
60		if(typeof force != 'undefined') is_setting = force;
61
62
63
64		$('._setting_header')[is_setting?'hide':'show']();
65		$('._alarm_header')[!is_setting?'hide':'show']();
66		$list_obj[!is_setting?'hide':'show']();
67		$setting_obj[is_setting?'hide':'show']();
68		$alarm_slide.data('mode',is_setting?'list':'setting');
69	};
70
71	var changeAlarmSetting = function(obj,member_code,type){
72		obj.find('input:checkbox').prop('checked',!obj.find('input:checkbox').prop('checked'));
73		var is_checked =  obj.find('input:checkbox').is(':checked')?"Y":"N";
74
75		$.ajax({
76			type: 'POST',
77			data: {member_code: member_code,type:type,is_checked:is_checked},
78			url: ('/ajax/alarm/change_alarm_setting.cm'),
79			dataType: 'json',
80			async: false,
81			cache: false,
82			success: function () {
83
84			}
85		});
86	};
87	var showAlarmSlide = function(){
88
89		if(!is_close_alarm){
90			getHeaderAlarmList();
91		}
92
93		toggleAlarmSetting(true);
94
95		status = $body.data('slide_alarm')=='Y';
96		if(status){
97			$body.data('slide_alarm','N');
98			var is_fullpage = $body.find('.visual_section').attr('doz_fullpage') ==='Y';
99			if(is_fullpage)
100				$body.css('overflow-y','hidden');
101			else
102				$body.css('overflow-y','auto');
103			$alarm_backdrop.hide();
104      $alarm_slide[0].addEventListener("transitionend", function() {
105        $alarm_slide[0].style.display = 'none';
106        $alarm_slide_container.toggleClass(open_class,!status);
107      }, {
108        once: true
109      });
110      /* alarm_menu.css .notification-canvas width 991px 이하에서는 좌측에서 애니메이션 */
111      if(window.innerWidth > 991){
112        $alarm_slide[0].style.transform = 'translate3d(500px, 0px, 0px)';
113      }else{
114        $alarm_slide[0].style.transform = 'translate3d(-500px, 0px, 0px)';
115      }
116			setTimeout(function(){
117				$alarm_slide_container.width(0);
118			},20);
119		} else{
120			$body.data('slide_alarm','Y');
121			var is_fullpage = $body.find('.visual_section').attr('doz_fullpage') ==='Y';
122			if(is_fullpage)
123				$body.css('overflow-y','hidden');
124			else
125				$body.css('overflow-y','auto');
126      $alarm_slide[0].style.display = 'block';
127			setTimeout(function() {
128        $alarm_slide[0].style.transform = 'translate3d(0px, 0px, 0px)';
129				$alarm_slide_container.width('100%');
130			},10);
131			$alarm_backdrop.show();
132      if(navigator.userAgent.match(/iPhone|iPad|iPod/i)){
133        $scroll_wrap.css({
134          'overflow': 'auto',
135          '-webkit-overflow-scrolling': 'touch'
136        });
137      }else{
138        $scroll_wrap.TrackpadScrollEmulator();
139      }
140      $alarm_slide_container.toggleClass(open_class,!status);
141		}
142
143		//앱 탭바 뱃지카운트 초기화
144		APP.updateTabBadgeCnt(APP.appDefaultTabType.APP_TAB_ALARM,0);
145		is_close_alarm = false;
146	};
147	return {
148		getHeaderAlarmList : function(){
149			getHeaderAlarmList();
150		},
151		toggleAlarmSetting : function(force){
152			toggleAlarmSetting(force);
153		},
154		changeAlarmSetting : function(obj,member_code,type){
155			changeAlarmSetting(obj,member_code,type);
156		},
157		showAlarmSlide : function(){
158			showAlarmSlide();
159		},
160		init : function(){
161			init();
162		}
163	}
164}();

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.