move Item edit into its own widget
This commit is contained in:
parent
e698fda8c2
commit
94fb1b4d1d
1 changed files with 68 additions and 41 deletions
|
@ -7698,54 +7698,27 @@ requires
|
||||||
.empty()
|
.empty()
|
||||||
.addClass('OxEdit');
|
.addClass('OxEdit');
|
||||||
|
|
||||||
new Ox.Element()
|
$input = new Ox.ItemInput({
|
||||||
.append($input = new Ox.Input({
|
type: 'textarea',
|
||||||
height: height,
|
value: item.value,
|
||||||
style: 'square',
|
height: height,
|
||||||
type: 'textarea',
|
width: width
|
||||||
value: item.value,
|
}).bindEvent({
|
||||||
width: width + 6
|
cancel: cancel,
|
||||||
})
|
save: submit
|
||||||
.bind({
|
}).appendTo($item.$element);
|
||||||
mousedown: function(e) {
|
/*
|
||||||
// keep mousedown from reaching list
|
|
||||||
e.stopPropagation();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
)
|
|
||||||
.append(new Ox.Element()
|
|
||||||
.append(
|
|
||||||
new Ox.Button({type: 'text', title: 'Cancel'})
|
|
||||||
.css('width', '42%')
|
|
||||||
.bindEvent({
|
|
||||||
'click': cancel
|
|
||||||
})
|
|
||||||
)
|
|
||||||
.append(
|
|
||||||
new Ox.Button({type: 'text', title: 'Save'})
|
|
||||||
.css('width', '42%')
|
|
||||||
.bindEvent({
|
|
||||||
'click': submit
|
|
||||||
})
|
|
||||||
).css({
|
|
||||||
'margin-top': height-8,
|
|
||||||
'height': '16px',
|
|
||||||
'text-align': 'right',
|
|
||||||
})
|
|
||||||
)
|
|
||||||
.appendTo($item.$element);
|
|
||||||
//gain focus async, otherwise enter gets
|
|
||||||
//passed on to input and removes all data
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$input.gainFocus();
|
$input.gainFocus();
|
||||||
$input.focus();
|
$input.focus();
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
function cancel() {
|
function cancel() {
|
||||||
$item.options('data', item);
|
$item.options('data', item);
|
||||||
//fixme: trigger event to reset i/o points
|
//fixme: trigger event to reset i/o points
|
||||||
}
|
}
|
||||||
function submit() {
|
function submit(event, data) {
|
||||||
item.value = $input.value();
|
item.value = data.value;
|
||||||
//$input.loseFocus().remove();
|
//$input.loseFocus().remove();
|
||||||
// fixme: leaky, inputs remain in focus stack
|
// fixme: leaky, inputs remain in focus stack
|
||||||
$item.options('data', item);
|
$item.options('data', item);
|
||||||
|
@ -7883,6 +7856,59 @@ requires
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Ox.ItemInput = function(options, self) {
|
||||||
|
|
||||||
|
var self = self || {},
|
||||||
|
that = new Ox.Element({}, self)
|
||||||
|
.defaults({
|
||||||
|
type: 'textarea',
|
||||||
|
value: '',
|
||||||
|
height: 300,
|
||||||
|
width: 100
|
||||||
|
})
|
||||||
|
.options(options || {}),
|
||||||
|
$input;
|
||||||
|
|
||||||
|
that.append($input = new Ox.Input({
|
||||||
|
height: self.options.height,
|
||||||
|
style: 'square',
|
||||||
|
type: self.options.type,
|
||||||
|
value: self.options.value,
|
||||||
|
width: self.options.width + 6
|
||||||
|
})
|
||||||
|
.bind({
|
||||||
|
mousedown: function(e) {
|
||||||
|
// keep mousedown from reaching list
|
||||||
|
e.stopPropagation();
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
.append(new Ox.Element()
|
||||||
|
.append(new Ox.Button({type: 'text', title: 'Cancel'})
|
||||||
|
.css('width', '42%')
|
||||||
|
.bindEvent({
|
||||||
|
'click': function() {
|
||||||
|
that.triggerEvent('cancel');
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
.append(new Ox.Button({type: 'text', title: 'Save'})
|
||||||
|
.css('width', '42%')
|
||||||
|
.bindEvent({
|
||||||
|
'click': function() {
|
||||||
|
that.triggerEvent('save', {
|
||||||
|
value: $input.value()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
.css({
|
||||||
|
'margin-top': self.options.height-8,
|
||||||
|
'height': '16px',
|
||||||
|
'text-align': 'right',
|
||||||
|
})
|
||||||
|
);
|
||||||
|
Ox.print($input);
|
||||||
|
return that;
|
||||||
|
}
|
||||||
|
|
||||||
Ox.ListItem = function(options, self) {
|
Ox.ListItem = function(options, self) {
|
||||||
|
|
||||||
var self = self || {},
|
var self = self || {},
|
||||||
|
@ -10840,7 +10866,8 @@ requires
|
||||||
var item = Ox.getObjectById(self.options.items, data.ids[0]);
|
var item = Ox.getObjectById(self.options.items, data.ids[0]);
|
||||||
that.triggerEvent('select', {
|
that.triggerEvent('select', {
|
||||||
'in': item.in,
|
'in': item.in,
|
||||||
'out': item.out
|
'out': item.out,
|
||||||
|
'layer': self.options.id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function updateAnnotation(event, data) {
|
function updateAnnotation(event, data) {
|
||||||
|
|
Loading…
Reference in a new issue