forked from 0x2620/oxjs
use Ox.Editable in Ox.AnnotationPanel
This commit is contained in:
parent
a4cb6ee9ae
commit
a949ad2cf4
5 changed files with 53 additions and 27 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue