forked from 0x2620/oxjs
remove unneeded Ox. prefix from path and file names
This commit is contained in:
parent
4138e4e558
commit
51696562f1
1365 changed files with 43 additions and 43 deletions
66
source/UI/js/Core/Focus.js
Normal file
66
source/UI/js/Core/Focus.js
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
'use strict';
|
||||
|
||||
/*@
|
||||
Ox.Focus <o> Basic focus controller
|
||||
@*/
|
||||
|
||||
Ox.Focus = (function() {
|
||||
|
||||
var stack = [],
|
||||
|
||||
that = {
|
||||
focusedElement: function() {
|
||||
return Ox.$elements[Ox.last(stack)];
|
||||
},
|
||||
focusedElementIsInput: function() {
|
||||
var $element = that.focusedElement();
|
||||
return $element && $element.hasClass('OxKeyboardFocus');
|
||||
},
|
||||
gainFocus: function($element) {
|
||||
var $focusedElement = that.focusedElement(),
|
||||
oxid = $element.oxid,
|
||||
index = stack.indexOf(oxid);
|
||||
if (index == -1 || index < stack.length - 1) {
|
||||
stack = $element.parentElements().map(function($element) {
|
||||
return $element.oxid;
|
||||
}).concat(oxid);
|
||||
if ($focusedElement) {
|
||||
$focusedElement
|
||||
.removeClass('OxFocus')
|
||||
.triggerEvent('losefocus');
|
||||
}
|
||||
$element
|
||||
.addClass('OxFocus')
|
||||
.triggerEvent('gainfocus');
|
||||
}
|
||||
},
|
||||
hasFocus: function($element) {
|
||||
return Ox.last(stack) == $element.oxid;
|
||||
},
|
||||
loseFocus: function($element) {
|
||||
var index = stack.indexOf($element.oxid);
|
||||
if (index > -1 && index == stack.length - 1) {
|
||||
stack.pop();
|
||||
$element
|
||||
.removeClass('OxFocus')
|
||||
.triggerEvent('losefocus');
|
||||
if (stack.length) {
|
||||
Ox.$elements[Ox.last(stack)]
|
||||
.addClass('OxFocus')
|
||||
.triggerEvent('gainfocus');
|
||||
}
|
||||
}
|
||||
},
|
||||
removeElement: function($element) {
|
||||
var index = stack.indexOf($element.oxid);
|
||||
if (index == stack.length - 1) {
|
||||
that.loseFocus($element);
|
||||
} else if (index > -1) {
|
||||
stack.splice(index, 1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return that;
|
||||
|
||||
}());
|
||||
Loading…
Add table
Add a link
Reference in a new issue