📄 application.js
字号:
_p = BiEventTarget.prototype = new BiObject;_p._className = "BiEventTarget";_p.addEventListener = function(sType, fHandler, oObject) { if (typeof fHandler != "function") throw new Error(this + " addEventListener: " + fHandler + " is not a function"); if (this._listeners[sType] == undefined) this._listeners[sType] = { }; var key = BiObject.toHashCode(fHandler) + (oObject ? BiObject.toHashCode(oObject) : ""); this._listeners[sType][key] = { handler: fHandler, object: oObject }; };_p.removeEventListener = function(sType, fHandler, oObject) { if (this._disposed || this._listeners[sType] == undefined) return; var key = BiObject.toHashCode(fHandler) + (oObject ? BiObject.toHashCode(oObject) : ""); delete this._listeners[sType][key]; };_p.dispatchEvent = function(oEvent) { if (this._disposed) return; oEvent._target = this; oEvent.initDispatch(); this._dispatchEvent(oEvent); return !oEvent._defaultPrevented; };_p._dispatchEvent = function(oEvent) { if (this._disposed) return; oEvent._currentTarget = this; if (!(oEvent instanceof BiMouseEvent) && !(oEvent instanceof BiKeyboardEvent) || this.getIsEnabled()) { var fs = this._listeners[oEvent.getType()]; if (fs) { var f, o; for (var hc in fs) { f = fs[hc].handler; o = fs[hc].object; if (typeof f == "function") { if (typeof o == "object") { f.call(o, oEvent); } else f.call(this, oEvent); } } } } if (oEvent._bubbles && !oEvent._propagationStopped && this._parent) { this._parent._dispatchEvent(oEvent); } };_p.setAttribute = function(sName, sValue, oXmlResourceParser) { if (sName.substring(0, 2) == "on") { var type = sName.substring(2); this.addEventListener(type, new Function("event", sValue), oXmlResourceParser); } else BiObject.prototype.setAttribute.call(this, sName, sValue, oXmlResourceParser); };_p.dispose = function() { if (this._disposed) return; BiObject.prototype.dispose.call(this); for (var sType in this._listeners) this._listeners[sType] = null; this._listeners = null; };function BiEventManager() { BiObject.call(this); var oThis = this; this.__onmouseevent = function(e) { return oThis._onmouseevent(e); } ; this.__onkeyevent = function(e) { return oThis._onkeyevent(e); } ; this.__onselectevent = function(e) { return oThis._onselectevent(e); } ; this.__onwindowblur = function(e) { return oThis._onwindowblur(e); } ; this.__ondragevent = function(e) { return oThis._ondragevent(e); } ; this.__onactivateevent = function(e) { return oThis._onactivateevent(e); } ; this.__onresizeevent = function(e) { return oThis._onresizeevent(e); } ; this._mozActiveElement = null; }var _p = BiEventManager.prototype = new BiObject;_p._className = "BiEventManager";_p._lastFocused = null;_p._lastMouseEventType = null;_p._lastMouseEventDate = 0;_p.attachToWindow = function(oWindow) { this._window = oWindow; this.attachMouseEvents(); this.attachKeyboardEvents(); var doc = oWindow.document; doc.body.onselect = doc.onselectstart = doc.onselectionchange = this.__onselectevent; doc.ondragstart = this.__ondragevent; doc.body.onactivate = this.__onactivateevent; oWindow.onblur = this.__onwindowblur; if (BiBrowserCheck.moz) { oWindow.addEventListener("resize", this.__onresizeevent, false); } };BiEventManager._mouseEventTypes = ["mouseover", "mousemove", "mouseout", "mousedown", "mouseup", "click", "dblclick", "contextmenu"];if (BiBrowserCheck.ie) BiEventManager._mouseEventTypes.push("mousewheel");else BiEventManager._mouseEventTypes.push("DOMMouseScroll");_p.attachMouseEvents = function() { var doc = this._window.document; var types = BiEventManager._mouseEventTypes; if (BiBrowserCheck.ie) { for (var i = 0; i < types.length; i++) doc.attachEvent("on" + types[i], this.__onmouseevent); } else { for (var i = 0; i < types.length; i++) doc.addEventListener(types[i], this.__onmouseevent, false); } };_p.detachMouseEvents = function() { var doc = this._window.document; var types = BiEventManager._mouseEventTypes if (BiBrowserCheck.ie) { for (var i = 0; i < types.length; i++) doc.detachEvent("on" + types[i], this.__onmouseevent); } else { if (doc) for (var i = 0; i < types.length; i++) doc.removeEventListener(types[i], this.__onmouseevent, false); } };BiEventManager._keyboardEventTypes = ["keydown", "keypress", "keyup"];_p.attachKeyboardEvents = function() { var doc = this._window.document; var types = BiEventManager._keyboardEventTypes; if (BiBrowserCheck.ie) { for (var i = 0; i < types.length; i++) doc.body.attachEvent("on" + types[i], this.__onkeyevent); } else { for (var i = 0; i < types.length; i++) doc.addEventListener(types[i], this.__onkeyevent, false); } };_p.detachKeyboardEvents = function() { var doc = this._window.document; var types = BiEventManager._keyboardEventTypes; if (BiBrowserCheck.ie) { for (var i = 0; i < types.length; i++) doc.body.detachEvent("on" + types[i], this.__onkeyevent); } else { for (var i = 0; i < types.length; i++) doc.removeEventListener(types[i], this.__onkeyevent, false); } };_p._onmouseevent = function(e) { if (!e) e = this._window.event; var type = e.type; if (BiBrowserCheck.ie) { if (type == "mouseup" && (this._lastMouseEventType == "click" || this._lastMouseEventType == "contextmenu" || this._lastMouseEventType == "mouseup") && new Date - this._lastMouseEventDate < 250) { this._onmouseevent2(e, "mousedown"); } else if (type == "dblclick" && this._lastMouseEventType == "mouseup" && new Date - this._lastMouseEventDate < 250) { this._onmouseevent2(e, "click"); } switch (type) { case "mousedown": case "mouseup": case "click": case "dblclick": case "contextmenu": this._lastMouseEventType = type; this._lastMouseEventDate = ( new Date).valueOf(); } } else { switch (type) { case "DOMMouseScroll": type = "mousewheel"; break; case "click": case "dblclick": if (e.button != BiMouseEvent.LEFT) return; } } this._onmouseevent2(e, type); };_p._onmouseevent2 = function(e, type) { if (type == "contextmenu") { if (BiBrowserCheck.moz) e.preventDefault(); e.returnValue = false; } else if (type == "mousedown" && BiBrowserCheck.moz) this._onactivateevent(e); var target; if (this._captureComponent) { target = this._captureComponent; } else { var el = e.target || e.srcElement; while (el != null && el._biComponent == null) el = el.parentNode; if (el == null) return; target = el._biComponent; } if (target == null) return; var enabledAncestor = null; var c = target; while (c) { if (!c.getEnabled()) enabledAncestor = null; else if (enabledAncestor == null) enabledAncestor = c; c = c._parent; } target = enabledAncestor; if (target == null) return; var biEvent = new BiMouseEvent(type, e); BiMouseEvent._storeEventState(biEvent); switch (type) { case "mousedown": ( new BiPopupManager).hideAutoHiding(target); var tmp = target; while (tmp != null && !tmp.getCanFocus()) tmp = tmp._parent; if (tmp != null && tmp.getCanFocus()) { if (BiBrowserCheck.ie) { try { tmp._element.setActive(); } catch (ex) { } } else { } } break; case "mouseover": try { var tmp = e.relatedTarget || e.fromElement; while (tmp != null && tmp._biComponent == null) tmp = tmp.parentNode; if (tmp && tmp._biComponent == target) { biEvent.dispose(); return; } } catch (ex) { } break; case "mouseout": try { var tmp = e.relatedTarget || e.toElement; while (tmp != null && tmp._biComponent == null) tmp = tmp.parentNode; if (tmp && tmp._biComponent == target) { biEvent.dispose(); return; } } catch (ex) { } break; } var rv = target.dispatchEvent(biEvent); switch (type) { case "mouseover": ( new BiToolTipManager).handleMouseOver(biEvent); break; case "mouseout": ( new BiToolTipManager).handleMouseOut(biEvent); break; case "contextmenu": if (!rv) break; var cm; while (target && !(cm = target.getContextMenu())) target = target._parent; if (cm) { cm._component = target; cm.setLocation(biEvent.getScreenX(), biEvent.getScreenY()); cm._component = target; cm.setVisible(true); } break; } biEvent.dispose(); return rv; };_p._onkeyevent = function(e) { if (!e) e = this._window.event; var el = this._mozActiveElement || e.target || e.srcElement; while (el != null && el._biComponent == null) el = el.parentNode; if (el == null) return; var target = el._biComponent; while (target && !target.getEnabled()) target = target._parent; if (target == null) return; return target.dispatchEvent(new BiKeyboardEvent(e.type, e)); };_p._onactivateevent = function(e) { if (!e) e = this._window.event var el = e.target || e.srcElement; while (el != null && el._biComponent == null) el = el.parentNode; if (el == null) return; var target = el._biComponent; while (target != null && !target.getCanFocus()) target = target._parent; if (target == null) return; this._setFocusedComponent(target); };_p._setFocusedComponent = function(oComponent) { if (this._lastFocused == oComponent) return; var blurComp = this._lastFocused; var focusComp = oComponent; if (oComponent) { var fr = oComponent.getFocusRoot(); fr._activeComponent = oComponent; } else if (this._lastFocused) { var fr = this._lastFocused.getFocusRoot(); fr._activeComponent = null; } this._lastFocused = oComponent; ( new BiPopupManager).hideAutoHiding(focusComp); if (blurComp) { blurComp._focused = false; var e = new BiFocusEvent("focusout"); e._relatedTarget = focusComp; blurComp.dispatchEvent(e); } if (focusComp) { focusComp._focused = true; var e = new BiFocusEvent("focusin"); e._relatedTarget = blurComp; focusComp.dispatchEvent(e); } if (blurComp) { var e = new BiFocusEvent("blur"); e._relatedTarget = focusComp; blurComp.dispatchEvent(e); ( new BiToolTipManager).handleBlur(e); } if (focusComp) { var e = new BiFocusEvent("focus"); e._relatedTarget = blurComp; focusComp.dispatchEvent(e);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -