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:
parent
2d0607aebd
commit
1eaf240970
3 changed files with 73 additions and 8 deletions
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue