update video editor (maps, calendars)

This commit is contained in:
rlx 2012-01-17 14:55:58 +05:30
commit dc47e901ad
9 changed files with 196 additions and 69 deletions

View file

@ -242,20 +242,40 @@ Ox.AnnotationPanel = function(options, self) {
return folder;
}
function scrollToSelected(type) {
var $item = that.find('.OxEditableElement.OxSelected'),
itemHeight = $item.height() + (type == 'text' ? 8 : 0),
itemTop = $item.offset().top,
itemBottom = itemTop + itemHeight,
height = self.$folders.height(),
scrollTop = self.$folders.scrollTop(),
top = self.$folders.offset().top;
if (itemTop < top || itemBottom > top + height) {
if (itemTop < top) {
scrollTop += itemTop - top;
} else {
scrollTop += itemBottom - top - height;
}
self.$folders.animate({
scrollTop: scrollTop + 'px'
}, 0);
}
}
function selectAnnotation(data, index) {
var height, scrollBottom, scrollTop, top;
self.options.selected = data.id;
if (data.id) {
self.$folder.forEach(function($folder, i) {
i != index && $folder.options({selected: ''});
});
scrollToSelected(self.options.layers[index].type);
}
/*
if (data.top) {
data.bottom = data.top + data.height;
height = self.$folders.height();
top = self.$folders.offset().top;
Ox.print('top', top);
scrollTop = self.$folders.scrollTop();
Ox.print('data/self t/b/h', data.top, data.bottom, data.height, scrollTop, height)
if (data.top < top || data.bottom > height) {
if (data.top < top) {
Ox.print('top scrollTop', data.top, scrollTop)
@ -266,21 +286,9 @@ Ox.AnnotationPanel = function(options, self) {
self.$folders.animate({
scrollTop: scrollTop + 'px'
}, 0);
}
/*
data.top -= 60; // 20 + 24 + 16
Ox.print('HEIGHT', height, 'SCROLLTOP', scrollTop, 'TOP', data.top);
if (data.top < 0 || data.top > height - 16) {
if (data.top < 0) {
scrollTop += data.top - 3;
} else if (data.top > height - 16) {
scrollTop += data.top - height + 14;
}
}
*/
}
*/
that.triggerEvent('select', data);
}
@ -302,7 +310,7 @@ Ox.AnnotationPanel = function(options, self) {
} else {
self.$folder.forEach(function($folder) {
$folder.options({selected: ''});
})
});
}
} else if (key == 'width') {
self.$folder.forEach(function($folder) {