1
0
Fork 0
forked from 0x2620/oxjs

make cursor keys work across annotation folders; make clicking in string annotation folder deselect annotation in other folder

This commit is contained in:
rlx 2012-02-01 19:33:10 +00:00
commit 1eaf240970
3 changed files with 73 additions and 8 deletions

View file

@ -171,7 +171,11 @@ Ox.ArrayEditable = function(options, self) {
}
function selectFirst() {
self.selected > -1 && selectItem(0);
if (self.selected > -1) {
self.selected > 0
? selectItem(0)
: that.triggerEvent('selectbefore');
}
}
function selectItem(idOrPosition) {
@ -193,13 +197,19 @@ Ox.ArrayEditable = function(options, self) {
}
function selectLast() {
self.selected > -1 && selectItem(self.options.items.length - 1);
if (self.selected > -1) {
self.selected < self.options.items.length - 1
? selectItem(self.options.items.length - 1)
: that.triggerEvent('selectafter');
}
}
function selectNext() {
self.selected > -1
&& self.selected < self.options.items.length - 1
&& selectItem(self.selected + 1);
if (self.selected > -1) {
self.selected < self.options.items.length - 1
? selectItem(self.selected + 1)
: that.triggerEvent('selectafter');
}
}
function selectNone() {
@ -207,7 +217,11 @@ Ox.ArrayEditable = function(options, self) {
}
function selectPrevious() {
self.selected > 0 && selectItem(self.selected - 1);
if (self.selected > -1) {
self.selected > 0
? selectItem(self.selected - 1)
: that.triggerEvent('selectbefore');
}
}
function singleclick(e) {
@ -230,8 +244,14 @@ Ox.ArrayEditable = function(options, self) {
// blur if still in editing mode
that.blurItem();
} else {
// othewise deselect selected
selectNone();
// otherwise
if (self.selected > -1) {
// deselect selected
selectNone();
} else {
// or trigger event
that.triggerEvent('selectnone');
}
}
}
that.gainFocus();