| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | angular.module('kityminderEditor')    .service('resourceService', ['$document', function($document) {    var openScope = null;    this.open = function( dropdownScope ) {        if ( !openScope ) {            $document.bind('click', closeDropdown);            $document.bind('keydown', escapeKeyBind);        }        if ( openScope && openScope !== dropdownScope ) {            openScope.resourceListOpen = false;        }        openScope = dropdownScope;    };    this.close = function( dropdownScope ) {        if ( openScope === dropdownScope ) {            openScope = null;            $document.unbind('click', closeDropdown);            $document.unbind('keydown', escapeKeyBind);        }    };    var closeDropdown = function( evt ) {        // This method may still be called during the same mouse event that        // unbound this event handler. So check openScope before proceeding.        //console.log(evt, openScope);        if (!openScope) { return; }        var toggleElement = openScope.getToggleElement();        if ( evt && toggleElement && toggleElement[0].contains(evt.target) ) {            return;        }        openScope.$apply(function() {            console.log('to close the resourcelist');            openScope.resourceListOpen = false;        });    };    var escapeKeyBind = function( evt ) {        if ( evt.which === 27 ) {            openScope.focusToggleElement();            closeDropdown();        }    };}])
 |