forked from 0x2620/oxjs
allow for grouped highlights in video annotations
This commit is contained in:
parent
56cbb3b90c
commit
a5f7dd720a
5 changed files with 107 additions and 46 deletions
|
|
@ -30,6 +30,7 @@ Ox.ArrayEditable = function(options, self) {
|
|||
getSortValue: null,
|
||||
globalAttributes: [],
|
||||
highlight: '',
|
||||
highlightGroup: false,
|
||||
itemName: 'item',
|
||||
items: [],
|
||||
maxHeight: void 0,
|
||||
|
|
@ -160,6 +161,9 @@ Ox.ArrayEditable = function(options, self) {
|
|||
.appendTo(that)];
|
||||
} else {
|
||||
sortItems();
|
||||
if (self.options.highlightGroup) {
|
||||
var selectedItem = Ox.getObjectById(self.options.items, self.options.selected) || {};
|
||||
}
|
||||
self.$items = self.options.items.map(function appendItem(item, i) {
|
||||
if (i && self.options.type == 'input') {
|
||||
$('<span>')
|
||||
|
|
@ -192,6 +196,7 @@ Ox.ArrayEditable = function(options, self) {
|
|||
width: self.options.type == 'input' ? 0 : self.options.width - 9
|
||||
})
|
||||
.addClass(item.id == self.options.selected ? 'OxSelected' : '')
|
||||
.addClass(self.options.highlightGroup && item.group == selectedItem.group ? 'OxGroup' : '')
|
||||
.data({id: item.id, position: i})
|
||||
.bindEvent({
|
||||
blur: function(data) {
|
||||
|
|
@ -265,7 +270,11 @@ Ox.ArrayEditable = function(options, self) {
|
|||
that.blurItem();
|
||||
}
|
||||
that.find('.OxSelected').removeClass('OxSelected');
|
||||
self.selected > -1 && self.$items[self.selected].addClass('OxSelected');
|
||||
that.find('.OxGroup').removeClass('OxGroup')
|
||||
if (self.selected > -1) {
|
||||
self.$items[self.selected].addClass('OxSelected');
|
||||
self.options.highlightGroup && that.updateItemGroup()
|
||||
}
|
||||
triggerSelectEvent();
|
||||
}
|
||||
|
||||
|
|
@ -473,6 +482,15 @@ Ox.ArrayEditable = function(options, self) {
|
|||
}
|
||||
};
|
||||
|
||||
that.updateItemGroup = function() {
|
||||
var group = self.options.items[self.selected].group;
|
||||
self.$items.forEach(function($item, index) {
|
||||
$item[
|
||||
self.options.items[index].group == group ? 'addClass' : 'removeClass'
|
||||
]('OxGroup');
|
||||
})
|
||||
}
|
||||
|
||||
return that;
|
||||
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue