1
0
Fork 0
forked from 0x2620/oxjs

use Ox.Editable in Ox.AnnotationPanel

This commit is contained in:
rlx 2011-10-27 13:13:28 +00:00
commit a949ad2cf4
5 changed files with 53 additions and 27 deletions

View file

@ -55,9 +55,26 @@ Ox.AnnotationPanel = function(options, self) {
self.$annotations = Ox.List({
construct: function(data) {
return Ox.Element()
.addClass('OxAnnotation OxEditable OxTarget')
.html(Ox.parseHTML(data.value));
var $item = Ox.Element()
.append(
Ox.Editable({
type: 'textarea',
width: self.options.width - 8,
value: data.value
})
.bindEvent({
edit: function() {
$item.removeClass('OxTarget');
},
submit: function(data) {
$item.addClass('OxTarget')
}
})
)
.append($('<div>').css({height: '4px'}))
.css({padding: '4px 4px 0 4px'})
.addClass('OxAnnotation OxTarget');
return $item;
},
items: self.options.items.map(function(v, i) {
return {
@ -65,6 +82,7 @@ Ox.AnnotationPanel = function(options, self) {
value: v.value
};
}),
max: 1,
unique: 'id'
})
.bindEvent({
@ -73,6 +91,7 @@ Ox.AnnotationPanel = function(options, self) {
selectAnnotation({}, {ids: [item.id]});
},
open: function(data) {
return;
if (data.ids.length == 1) {
var pos = Ox.getPositionById(self.$annotations.options('items'), data.ids[0]);
self.$annotations.editItem(pos);