nd-gui
Version:
UI components for NetDocuments
3 lines (2 loc) • 2.69 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("nd-common")):"function"==typeof define&&define.amd?define("nd-gui/core",["exports","@angular/core","nd-common"],t):t((e["nd-gui"]=e["nd-gui"]||{},e["nd-gui"].core={}),e.ng.core,e.ndCommon)}(this,function(e,t,n){"use strict";var i=function(){function e(){this.elementIsActive=!1,this.containerElements=[],this.manuallyActiveElement=!1,this.clickOutside=new t.EventEmitter,this.manuallyActiveElementUsed=new t.EventEmitter}return e.prototype.onClick=function(e){this.manuallyActiveElement&&!this.elementIsActive&&(this.elementIsActive=!0,this.manuallyActiveElementUsed.emit()),this.elementIsActive&&this.handleEvent(e)},e.prototype.elementIsClicked=function(){this.elementIsActive=!0},e.prototype.elementIsFocus=function(){this.elementIsActive=!0},e.prototype.elementIsChanged=function(){this.elementIsActive=!0},e.prototype.keyboardInput=function(e){e.ctrlKey&&e.keyCode!=n.CTRL&&(e.shiftKey&&e.keyCode!=n.SHIFT||e.altKey&&e.keyCode!=n.ALT)&&(this.elementIsActive=!0),e.keyCode===n.TAB&&this.handleEvent(e)},e.prototype.handleEvent=function(e){if(this.containerElements){var t=e.srcElement;null==t&&e.target&&(t=e.target),this.checkIfClickedInside(t)||(this.elementIsActive=!1,this.clickOutside.emit(e))}},e.prototype.isVisible=function(e){return null!==e.offsetHeight},e.prototype.checkIfClickedInside=function(n){var i=this;return this.containerElements.find(function(e){if(!e)return!1;var t=null;return e.contains&&i.isVisible(e)?t=e:e.el&&i.isVisible(e.el.nativeElement)?t=e.el.nativeElement:e._eref&&i.isVisible(e._eref.nativeElement)?t=e._eref.nativeElement:"string"==typeof e&&(t=document.getElementById(e)),!!t&&t.contains(n)})},e}();i.decorators=[{type:t.Directive,args:[{selector:"[clickOutside]"}]}],i.ctorParameters=function(){return[]},i.propDecorators={containerElements:[{type:t.Input}],manuallyActiveElement:[{type:t.Input}],clickOutside:[{type:t.Output}],manuallyActiveElementUsed:[{type:t.Output}],onClick:[{type:t.HostListener,args:["document:contextmenu",["$event"]]},{type:t.HostListener,args:["document:click",["$event"]]}],elementIsClicked:[{type:t.HostListener,args:["click"]}],elementIsFocus:[{type:t.HostListener,args:["focus"]}],elementIsChanged:[{type:t.HostListener,args:["change"]}],keyboardInput:[{type:t.HostListener,args:["window:keydown",["$event"]]}]};var s=function(){};s.decorators=[{type:t.NgModule,args:[{declarations:[i],exports:[i]}]}];e.ClickOutsideDirective=i,e.ndClickOutsideModule=s,e.HIGHLIGHTED="highlighted",e.DISABLED="disabled",Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=nd-gui-core.umd.min.js.map