forked from 0x2620/oxjs
first demo of auto-resizing textarea
This commit is contained in:
parent
67c154547c
commit
7f904cda1f
5 changed files with 175 additions and 50 deletions
|
|
@ -25,9 +25,110 @@ Ox.ItemInput = function(options, self) {
|
|||
height: 300,
|
||||
width: 100
|
||||
})
|
||||
.options(options || {}),
|
||||
$input;
|
||||
.options(options || {});
|
||||
|
||||
|
||||
self.$input = Ox.Input({
|
||||
changeOnKeypress: true,
|
||||
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();
|
||||
}
|
||||
})
|
||||
.bindEvent({
|
||||
change: function(data) {
|
||||
self.options.height = data.value.split('\n').length * 13;
|
||||
Ox.print('HEIGHT', self.options.height)
|
||||
self.$input.options({
|
||||
height: self.options.height
|
||||
});
|
||||
that.css({
|
||||
height: self.options.height + 16 + 'px'
|
||||
});
|
||||
that.parent().css({
|
||||
height: self.options.height + 24 + 'px'
|
||||
});
|
||||
self.$bar.css({
|
||||
marginTop: 8 + 'px'
|
||||
});
|
||||
}
|
||||
})
|
||||
.appendTo(that);
|
||||
|
||||
self.$bar = Ox.Bar({
|
||||
size: 16
|
||||
})
|
||||
.css({
|
||||
marginTop: self.options.height - 8 + 'px'
|
||||
})
|
||||
.appendTo(that);
|
||||
|
||||
Ox.Button({
|
||||
style: 'symbol',
|
||||
title: 'delete',
|
||||
tooltip: 'Remove',
|
||||
type: 'image'
|
||||
})
|
||||
.css({float: 'left'})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
that.triggerEvent('remove');
|
||||
}
|
||||
})
|
||||
.appendTo(self.$bar);
|
||||
|
||||
Ox.Button({
|
||||
style: 'symbol',
|
||||
title: 'check',
|
||||
tooltip: 'Save',
|
||||
type: 'image'
|
||||
})
|
||||
.css({float: 'right'})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
that.triggerEvent('save', {
|
||||
value: self.$input.value()
|
||||
});
|
||||
}
|
||||
})
|
||||
.appendTo(self.$bar);
|
||||
|
||||
Ox.Button({
|
||||
style: 'symbol',
|
||||
title: 'view',
|
||||
tooltip: 'Preview',
|
||||
type: 'image'
|
||||
})
|
||||
.css({float: 'right'})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
that.triggerEvent('preview');
|
||||
}
|
||||
})
|
||||
.appendTo(self.$bar);
|
||||
|
||||
Ox.Button({
|
||||
style: 'symbol',
|
||||
title: 'close',
|
||||
tooltip: 'Cancel',
|
||||
type: 'image'
|
||||
})
|
||||
.css({float: 'right'})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
that.triggerEvent('cancel');
|
||||
}
|
||||
})
|
||||
.appendTo(self.$bar);
|
||||
|
||||
/*
|
||||
that.append(
|
||||
$input = new Ox.Input({
|
||||
height: self.options.height,
|
||||
|
|
@ -67,5 +168,8 @@ Ox.ItemInput = function(options, self) {
|
|||
})
|
||||
);
|
||||
Ox.print($input);
|
||||
*/
|
||||
|
||||
return that;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue