forked from 0x2620/oxjs
update video editor
This commit is contained in:
parent
b2e8b2ac82
commit
f61e39a788
9 changed files with 141 additions and 80 deletions
|
|
@ -72,11 +72,13 @@ Ox.ArrayEditable = function(options, self) {
|
|||
}
|
||||
|
||||
function deleteItem() {
|
||||
self.options.items.splice(self.selected, 1);
|
||||
renderItems();
|
||||
that.triggerEvent('delete', {
|
||||
id: self.options.selected
|
||||
});
|
||||
if (self.options.editable) {
|
||||
self.options.items.splice(self.selected, 1);
|
||||
renderItems();
|
||||
that.triggerEvent('delete', {
|
||||
id: self.options.selected
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function doubleclick(e) {
|
||||
|
|
@ -84,7 +86,7 @@ Ox.ArrayEditable = function(options, self) {
|
|||
$parent = $target.parent();
|
||||
if ($parent.is('.OxEditableElement')) {
|
||||
that.editItem();
|
||||
} else if(!$target.is('.OxInput')) {
|
||||
} else if (!$target.is('.OxInput')) {
|
||||
that.triggerEvent('add');
|
||||
}
|
||||
}
|
||||
|
|
@ -106,7 +108,7 @@ Ox.ArrayEditable = function(options, self) {
|
|||
.html(', ')
|
||||
.appendTo(that);
|
||||
self.$items[i] = Ox.Editable({
|
||||
editable: item.editable,
|
||||
editable: self.options.editable && item.editable,
|
||||
format: function(value) {
|
||||
return value || ' '
|
||||
},
|
||||
|
|
@ -155,6 +157,10 @@ Ox.ArrayEditable = function(options, self) {
|
|||
self.selected = idOrPosition;
|
||||
self.options.selected = getSelectedId();
|
||||
}
|
||||
if (self.options.selected == '' && self.editing) {
|
||||
self.editing = false;
|
||||
that.blurItem();
|
||||
}
|
||||
Ox.print('SELECT ITEM', self.options.selected, self.selected);
|
||||
that.find('.OxSelected').removeClass('OxSelected');
|
||||
self.selected > -1 && self.$items[self.selected].addClass('OxSelected');
|
||||
|
|
@ -222,12 +228,19 @@ Ox.ArrayEditable = function(options, self) {
|
|||
selectItem(value);
|
||||
} else if (key == 'sort') {
|
||||
renderItems();
|
||||
} else if (key == 'width') {
|
||||
that.css({width: value - 8 + 'px'}); // 2 x 4 px padding
|
||||
self.options.type == 'textarea' && self.$items.forEach(function($item) {
|
||||
$item.options({width: value})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
that.addItem = function(position, item) {
|
||||
self.options.items.splice(position, 0, item);
|
||||
renderItems();
|
||||
if (self.options.editable) {
|
||||
self.options.items.splice(position, 0, item);
|
||||
renderItems();
|
||||
}
|
||||
//that.triggerEvent('add');
|
||||
/*
|
||||
self.values = Ox.filter(values, function(value) {
|
||||
|
|
@ -240,15 +253,20 @@ Ox.ArrayEditable = function(options, self) {
|
|||
};
|
||||
|
||||
that.blurItem = function() {
|
||||
self.options.selected && self.$items[self.selected].options({
|
||||
editing: false
|
||||
});
|
||||
if (self.options.selected) {
|
||||
self.$items[self.selected].options({editing: false});
|
||||
} else {
|
||||
self.$items.forEach(function($item) {
|
||||
$item.options({editing: false});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
that.editItem = function() {
|
||||
if (self.options.selected) {
|
||||
if (self.options.editable && self.options.selected) {
|
||||
Ox.forEach(self.$items, function($item) {
|
||||
if ($item.data('position') == self.selected) {
|
||||
Ox.print('DBLCLICK')
|
||||
$item.triggerEvent('doubleclick');
|
||||
return false;
|
||||
}
|
||||
|
|
@ -261,7 +279,9 @@ Ox.ArrayEditable = function(options, self) {
|
|||
};
|
||||
|
||||
that.removeItem = function(position) {
|
||||
|
||||
if (self.options.editable) {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
return that;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue