web/static/css/jq-css/demos/tabs/manipulation.html
author ymh <ymh.work@gmail.com>
Sat, 12 Jun 2010 04:25:05 +0200
changeset 0 cc4a51750724
permissions -rw-r--r--
first commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<!DOCTYPE html>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
<html lang="en">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
<head>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
	<meta charset="UTF-8" />
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
	<title>jQuery UI Tabs - Simple manipulation</title>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
	<link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
	<script type="text/javascript" src="../../jquery-1.4.2.js"></script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
	<script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	<script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
	<script type="text/javascript" src="../../ui/jquery.ui.button.js"></script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
	<script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
	<script type="text/javascript" src="../../ui/jquery.ui.dialog.js"></script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
	<link type="text/css" href="../demos.css" rel="stylesheet" />
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
	<style type="text/css">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
		#dialog label, #dialog input { display:block; }
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
		#dialog label { margin-top: 0.5em; }
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
		#dialog input, #dialog textarea { width: 95%; }
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
		#tabs { margin-top: 1em; }
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
		#tabs li .ui-icon-close { float: left; margin: 0.4em 0.2em 0 0; cursor: pointer; }
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
		#add_tab { cursor: pointer; }
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
	</style>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
	<script type="text/javascript">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
	$(function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
		var $tab_title_input = $('#tab_title'), $tab_content_input = $('#tab_content');
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
		var tab_counter = 2;
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
		// tabs init with a custom tab template and an "add" callback filling in the content
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
		var $tabs = $('#tabs').tabs({
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
			tabTemplate: '<li><a href="#{href}">#{label}</a> <span class="ui-icon ui-icon-close">Remove Tab</span></li>',
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
			add: function(event, ui) {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
				var tab_content = $tab_content_input.val() || 'Tab '+tab_counter+' content.';
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
				$(ui.panel).append('<p>'+tab_content+'</p>');
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
			}
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
		});
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
		// modal dialog init: custom buttons and a "close" callback reseting the form inside
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
		var $dialog = $('#dialog').dialog({
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
			autoOpen: false,
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
			modal: true,
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
			buttons: {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
				'Add': function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
					addTab();
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
					$(this).dialog('close');
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
				},
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
				'Cancel': function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
					$(this).dialog('close');
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
				}
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
			},
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			open: function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
				$tab_title_input.focus();
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
			},
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
			close: function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
				$form[0].reset();
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
			}
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
		});
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
		// addTab form: calls addTab function on submit and closes the dialog
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
		var $form = $('form',$dialog).submit(function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
			addTab();
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
			$dialog.dialog('close');
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
			return false;
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
		});
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
		// actual addTab function: adds new tab using the title input from the form above
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
		function addTab() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
			var tab_title = $tab_title_input.val() || 'Tab '+tab_counter;
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
			$tabs.tabs('add', '#tabs-'+tab_counter, tab_title);
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
			tab_counter++;
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
		}
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
		// addTab button: just opens the dialog
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		$('#add_tab')
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
			.button()
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
			.click(function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
				$dialog.dialog('open');
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
			});
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
		// close icon: removing the tab on click
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
		// note: closable tabs gonna be an option in the future - see http://dev.jqueryui.com/ticket/3924
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
		$('#tabs span.ui-icon-close').live('click', function() {
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
			var index = $('li',$tabs).index($(this).parent());
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			$tabs.tabs('remove', index);
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
		});
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
	});
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
	</script>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
</head>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
<body>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
<div class="demo">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
	<div id="dialog" title="Tab data">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		<form>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
			<fieldset class="ui-helper-reset">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
				<label for="tab_title">Title</label>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
				<input type="text" name="tab_title" id="tab_title" value="" class="ui-widget-content ui-corner-all" />
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
				<label for="tab_content">Content</label>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
				<textarea name="tab_content" id="tab_content" class="ui-widget-content ui-corner-all"></textarea>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
			</fieldset>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
		</form>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
	</div>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
	<button id="add_tab">Add Tab</button>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
	<div id="tabs">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
		<ul>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
			<li><a href="#tabs-1">Nunc tincidunt</a> <span class="ui-icon ui-icon-close">Remove Tab</span></li>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
		</ul>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
		<div id="tabs-1">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
			<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
		</div>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
	</div>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
</div><!-- End demo -->
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
<div class="demo-description">
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
	<p>Simple tabs adding and removing.</p>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
</div><!-- End demo-description -->
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
</body>
cc4a51750724 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
</html>