summaryrefslogtreecommitdiffstats
path: root/js/directive/AppNavigationEntryUtils.js
blob: 2c7953bd2634456db6adce0f8cd7872141c9c225 (plain)
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
/**
 * ownCloud - News
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Bernhard Posselt <dev@bernhard-posselt.com>
 * @copyright Bernhard Posselt 2014
 */
app.run(($document, $rootScope) => {
    'use strict';
    $document.click((event) => {
        $rootScope.$broadcast('documentClicked', event);
    });
});

app.directive('appNavigationEntryUtils', () => {
    'use strict';
    return {
        restrict: 'C',
        link: (scope, elm) => {
            let menu = elm.siblings('.app-navigation-entry-menu');
            let button = $(elm)
                .find('.app-navigation-entry-utils-menu-button button');

            button.click(() => {
                menu.toggle();
            });

            scope.$on('documentClicked', (scope, event) => {
                if (event.target !== button[0]) {
                    menu.hide();
                }
            });
        }
    };
});