add forms example
This commit is contained in:
parent
61e425f64d
commit
75b1fbbc7f
2 changed files with 309 additions and 0 deletions
11
examples/forms/index.html
Normal file
11
examples/forms/index.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Forms</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<link rel="shortcut icon" type="image/png" href="../../source/Ox.UI/png/icon16.png"/>
|
||||
<script type="text/javascript" src="../../dev/Ox.js"></script>
|
||||
<script type="text/javascript" src="js/example.js"></script>
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
298
examples/forms/js/example.js
Normal file
298
examples/forms/js/example.js
Normal file
|
@ -0,0 +1,298 @@
|
|||
/*
|
||||
This example demonstrates various form elements.
|
||||
*/
|
||||
|
||||
Ox.load('UI', function() {
|
||||
|
||||
var $form = Ox.FormPanel({
|
||||
form: [
|
||||
{
|
||||
id: 'arrayinput',
|
||||
title: 'ArrayInput',
|
||||
description: '<code>Ox.ArrayInput</code> allows you to enter an array of strings.',
|
||||
items: [
|
||||
Ox.ArrayInput({
|
||||
id: 'names',
|
||||
label: 'Enter up to 3 names',
|
||||
max: 3,
|
||||
width: 256
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'button',
|
||||
title: 'Button',
|
||||
description: 'Buttons',
|
||||
items: [
|
||||
Ox.Button({
|
||||
id: 'like',
|
||||
selectable: true,
|
||||
title: 'like',
|
||||
type: 'image'
|
||||
}),
|
||||
Ox.Button({
|
||||
id: 'lock',
|
||||
selectable: true,
|
||||
title: 'lock',
|
||||
type: 'image'
|
||||
}).bindEvent({
|
||||
change: function(data) {
|
||||
this.options({
|
||||
title: data.value ? 'unlock' : 'lock'
|
||||
});
|
||||
}
|
||||
}),
|
||||
Ox.Button({
|
||||
id: 'select',
|
||||
label: 'Selectable Button',
|
||||
labelWidth: 128,
|
||||
selectable: true,
|
||||
title: 'Selectable Button'
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'buttongroup',
|
||||
title: 'ButtonGroup',
|
||||
description: 'Buttons',
|
||||
items: [
|
||||
Ox.ButtonGroup({
|
||||
buttons: [
|
||||
{id: 'exclamation', title: 'warning'},
|
||||
{id: 'question', title: 'help'}
|
||||
],
|
||||
id: 'buttongroup_image',
|
||||
selectable: true,
|
||||
type: 'image'
|
||||
}),
|
||||
Ox.ButtonGroup({
|
||||
buttons: [
|
||||
{id: 'option1', title: 'Option 1'},
|
||||
{id: 'option2', title: 'Option 2'},
|
||||
{id: 'option3', title: 'Option 3'}
|
||||
],
|
||||
id: 'buttongroup_text',
|
||||
selectable: true
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'checkboxes',
|
||||
title: 'Checkboxes',
|
||||
description: '...',
|
||||
items: [
|
||||
Ox.Checkbox({
|
||||
id: 'single',
|
||||
title: 'single',
|
||||
width: 256
|
||||
}),
|
||||
Ox.CheckboxGroup({
|
||||
checkboxes: [
|
||||
{id: 'option1', title: 'Option 1'},
|
||||
{id: 'option2', title: 'Option 2'},
|
||||
{id: 'option3', title: 'Option 3'}
|
||||
],
|
||||
description: 'Description...',
|
||||
id: 'group'
|
||||
}),
|
||||
Ox.CheckboxGroup({
|
||||
checkboxes: [
|
||||
{id: 'optiona', title: 'Option 1'},
|
||||
{id: 'optionb', title: 'Option 2'},
|
||||
{id: 'optionc', title: 'Option 3'}
|
||||
],
|
||||
id: 'list',
|
||||
type: 'list',
|
||||
width: 256
|
||||
}),
|
||||
Ox.CheckboxGroup({
|
||||
checkboxes: [
|
||||
{id: 'option1', title: 'Option 1'},
|
||||
{id: 'option2', title: 'Option 2'},
|
||||
{id: 'option3', title: 'Option 3'}
|
||||
],
|
||||
id: 'group2'
|
||||
}),
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'input',
|
||||
title: 'Input',
|
||||
items: [
|
||||
Ox.Input({
|
||||
id: 'input1',
|
||||
width: 256
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'objectarrayinput',
|
||||
title: 'ObjectArrayInput',
|
||||
description: '...',
|
||||
items: [
|
||||
Ox.ObjectArrayInput({
|
||||
buttonTitles: {
|
||||
add: 'Add person',
|
||||
remove: 'Remove person'
|
||||
},
|
||||
id: 'people',
|
||||
inputs: [
|
||||
{
|
||||
element: 'Input',
|
||||
options: {id: 'firstname', label: 'First Name'}
|
||||
},
|
||||
{
|
||||
element: 'Input',
|
||||
options: {id: 'lastname', label: 'Last Name'}
|
||||
},
|
||||
{
|
||||
element: 'ArrayInput',
|
||||
options: {id: 'phonenumbers', label: 'Phone Numbers'}
|
||||
},
|
||||
{
|
||||
element: 'Input',
|
||||
options: {id: 'email', label: 'E-Mail Address'}
|
||||
},
|
||||
]
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'range',
|
||||
title: 'Range',
|
||||
description: '...',
|
||||
items: [
|
||||
Ox.Range({
|
||||
arrows: true,
|
||||
id: 'foobar',
|
||||
label: 'FOOBAR',
|
||||
max: 10,
|
||||
min: 0,
|
||||
size: 256,
|
||||
thumbSize: 32,
|
||||
thumbValue: true
|
||||
}),
|
||||
Ox.Range({
|
||||
id: 'on_or_off',
|
||||
max: 1,
|
||||
min: 0,
|
||||
size: 48,
|
||||
thumbSize: 32,
|
||||
thumbValue: true,
|
||||
values: ["Off", "On"]
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'select',
|
||||
title: 'Select',
|
||||
items: [
|
||||
Ox.Select({
|
||||
id: 'select',
|
||||
items: [
|
||||
{id: 'option1', title: 'Option 1'},
|
||||
{id: 'option2', title: 'Option 2'},
|
||||
{id: 'option3', title: 'Option 3'}
|
||||
],
|
||||
title: 'Please select...',
|
||||
width: 256
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'selectinput',
|
||||
title: 'SelectInput',
|
||||
items: [
|
||||
Ox.SelectInput({
|
||||
id: 'selectinput',
|
||||
inputWidth: 128,
|
||||
items: [
|
||||
{id: 'option1', title: 'Option 1'},
|
||||
{id: 'option2', title: 'Option 2'},
|
||||
{id: 'option3', title: 'Option 3'},
|
||||
{id: 'other', title: 'Other...'}
|
||||
],
|
||||
placeholder: 'Please specify...',
|
||||
title: 'Please select...',
|
||||
width: 256
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'spreadsheet',
|
||||
title: 'Spreadsheet',
|
||||
items: [
|
||||
Ox.Spreadsheet({
|
||||
id: 'budget',
|
||||
columns: ['2010', '2011', '2012', '2013', '2014'],
|
||||
rows: ['Item A', 'Item B', 'Item C'],
|
||||
title: 'Budget'
|
||||
})
|
||||
],
|
||||
validate: function() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
.bindEvent({
|
||||
change: function(data) {
|
||||
$panel.replaceElement(1,
|
||||
$list = Ox.TreeList({
|
||||
data: $form.values(),
|
||||
expanded: true,
|
||||
width: 256 - Ox.UI.SCROLLBAR_SIZE
|
||||
})
|
||||
);
|
||||
}
|
||||
}),
|
||||
|
||||
$list = Ox.TreeList({
|
||||
data: $form.values(),
|
||||
width: 256 - Ox.UI.SCROLLBAR_SIZE
|
||||
}),
|
||||
|
||||
$panel = Ox.SplitPanel({
|
||||
elements: [
|
||||
{
|
||||
element: $form
|
||||
},
|
||||
{
|
||||
element: $list,
|
||||
resizable: true,
|
||||
resize: [256],
|
||||
size: 256
|
||||
}
|
||||
],
|
||||
orientation: 'horizontal'
|
||||
})
|
||||
.appendTo(Ox.$body)
|
||||
|
||||
});
|
Loading…
Reference in a new issue