OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-10-14 3052936fed9166521b0557a36df83eb11a5e51ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/**
 * Created by wisestone on 2018-09-17.
 */
 
'use strict';
 
define(['app'],
    function (app) {
 
        app.directive('owlMobileTopMenu', ["$log",
            function ($log) {
                return {
                    restrict: 'A',
                    link: function (scope, element, attr) {
                        $(document).ready(function () {
                            osInitSubMenus();
                        });
 
                        function subMenuForTabletPC() {
                            $('.menu-mobile .avatar-w').click(function () {
                                $('.menu-mobile .logged-user-info-ws').toggle();
                                return false;
                            });
                        }
 
                        function osInitSubMenus() {
 
                            var screenWidth = $(window).width();
                            var loggedUserInfoBox = $('.menu-mobile .logged-user-info-ws');
                            loggedUserInfoBox.hide();
 
                            $('.mobile-menu-trigger').click(function () {
                                $('.menu-mobile .menu-and-user').slideToggle(200, 'swing');
                                return false;
                            });
 
                            if (screenWidth > 750) {
                                subMenuForTabletPC();
                            }
 
                            $(window).resize(function () {
 
                                var resizeWidth = $(window).width();
 
                                //세로모드
                                if (loggedUserInfoBox.show()) {
                                    loggedUserInfoBox.hide();
                                }
 
                                if (resizeWidth > 750) {
                                    subMenuForTabletPC();
 
                                } else if (resizeWidth < 750) {
                                    $('.menu-mobile .avatar-w').off('click');
                                }
                            });
 
 
                            // INIT MENU TO ACTIVATE ON HOVER
                            var menu_timer;
                            $('.menu-activated-on-hover').on('mouseenter', 'ul.main-menu > li.has-sub-menu', function () {
                                var $elem = $(this);
                                clearTimeout(menu_timer);
                                $elem.closest('ul').addClass('has-active').find('> li').removeClass('active');
                                $elem.addClass('active');
                            });
 
                            $('.menu-activated-on-hover').on('mouseleave', 'ul.main-menu > li.has-sub-menu', function () {
                                var $elem = $(this);
                                menu_timer = setTimeout(function () {
                                    $elem.removeClass('active').closest('ul').removeClass('has-active');
                                }, 30);
                            });
 
                            // INIT MENU TO ACTIVATE ON CLICK
                            $('.menu-activated-on-click').on('click', 'li.has-sub-menu > a', function (event) {
                                $log.debug("실행");
                                var $elem = $(this).closest('li');
                                if ($elem.hasClass('active')) {
                                    $elem.removeClass('active');
                                } else {
                                    $elem.closest('ul').find('li.active').removeClass('active');
                                    $elem.addClass('active');
                                }
                                return false;
                            });
                        }
                    }
                };
            }])
    });