PageSourceSearch

https://www.campingtalk.me/1790748897493/static/app/v2/cpt/module/bottomNav.js

js campingtalk.me collected 2026-09-30 11:35:47 UTC 3,102 bytes, 100 lines download raw bytes

1
2let bottomNavVue;
3
4window.addEventListener('load', function () {
5    bottomNavVue = new Vue(bottomNavObject);
6});
7
8const bottomNavObject = {
9    el: '#el-bottom-nav',
10    data() {
11        return {
12            eventBadgeAllowedPaths: ['/', '/main', '/booking/campList'],
13            currentPathName: window.location.pathname,
14        }
15    },
16    mounted() {
17        this.addEventBadgePathIfCampIdExists();
18        this.highlightCurrentMenuItem();
19    },
20    methods: {
21        // 유효한 _campId가 있으면 이벤트 배지 허용 경로에 추가
22        addEventBadgePathIfCampIdExists() {
23            if (typeof _campId !== 'undefined') {
24                this.eventBadgeAllowedPaths.push(`/booking/camp/${_campId}`);
25            }
26        },
27        // 현재 페이지와 일치하는 메뉴를 찾아 클래스를 추가
28        highlightCurrentMenuItem() {
29            const menuItems = this.$el.querySelectorAll(".cpt-nav nav ul li");
30            menuItems.forEach((item) => {
31                const link = item.querySelector("a");
32                if (link && link.getAttribute("href") === this.currentPathName) {
33                    item.classList.add("cpt-color");
34                    item.querySelector("i").classList.add("cpt-color");
35                    item.querySelector("span").classList.add("cpt-color");
36                }
37            });
38        },
39        /**
40         * 내 정보 페이지로
41         */
42        goMyInfo() {
43            if (memberManager.isMember) {
44                document.location = _linkTo('/member/info');
45            } else {
46                authManager.goSnsLogin({ destinationUri: _linkTo('/member/info') });
47            }
48        },
49        goEventPage(eventPageUrl) {
50            document.location = _linkTo(eventPageUrl);
51        }
52    },
53};
54
55/**
56 * 스크롤 시
57 */
58window.onscroll = function () {
59    const scroll = window.scrollY;
60    const nav = document.querySelector(".header");
61
62    /* Top */
63    if (scroll !== 0) {
64        nav.classList.add("header-bs");
65    } else {
66        nav.classList.remove("header-bs");
67    }
68}
69
70//숙박세일 페스타 용
71let saleFestaListVue;
72
73window.addEventListener('load', function () {
74    saleFestaListVue = new Vue(saleFestaListObj);
75});
76
77const saleFestaListObj = {
78    el: '#sale-festa-list',
79    data: {
80    },
81    computed: {
82    },
83    methods: {
84        goCamp(campId) {
85            window.location.href = _linkTo('/booking/camp/' + campId);
86        },
87        linkToCampListPage(key) {
88            channelSessionStorage.setItem('campFormData', JSON.stringify({
89                ...JSON.parse(channelSessionStorage.getItem('campFormData')),
90                selectedSearchItemList: getSearchItemList()?.filter(item => item.key === key)
91            }));
92            channelSessionStorage.removeItem('campList');
93            channelSessionStorage.removeItem('campListPageNo');
94            channelSessionStorage.removeItem('campListTotalCount');
95            channelSessionStorage.removeItem('campListTotalPageCount');
96            window.location.href = _linkTo('/booking/campList');
97        },
98    },
99};
100

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.