summaryrefslogtreecommitdiffstats
path: root/apps/it/static/js/ui/demos/tabs/manipulation.html
diff options
context:
space:
mode:
authorFilipp Lepalaan <f@230.to>2014-02-19 18:02:09 +0200
committerFilipp Lepalaan <f@230.to>2014-02-19 18:02:09 +0200
commit75ad7e4bd7d69243e7e5281c2642f00478fb072d (patch)
treeeaaaf360902d369f42d94778aac8803db7973ce0 /apps/it/static/js/ui/demos/tabs/manipulation.html
parentcfc7c3f52544af8a71d3fa3988a06fee200d2c24 (diff)
downloadpudding-75ad7e4bd7d69243e7e5281c2642f00478fb072d.tar.gz
pudding-75ad7e4bd7d69243e7e5281c2642f00478fb072d.tar.bz2
pudding-75ad7e4bd7d69243e7e5281c2642f00478fb072d.zip
Added tags, jquery UI
Diffstat (limited to 'apps/it/static/js/ui/demos/tabs/manipulation.html')
-rw-r--r--apps/it/static/js/ui/demos/tabs/manipulation.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/apps/it/static/js/ui/demos/tabs/manipulation.html b/apps/it/static/js/ui/demos/tabs/manipulation.html
new file mode 100644
index 0000000..62239c4
--- /dev/null
+++ b/apps/it/static/js/ui/demos/tabs/manipulation.html
@@ -0,0 +1,122 @@
+<!doctype html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>jQuery UI Tabs - Simple manipulation</title>
+ <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
+ <script src="../../jquery-1.10.2.js"></script>
+ <script src="../../ui/jquery.ui.position.js"></script>
+ <script src="../../ui/jquery.ui.core.js"></script>
+ <script src="../../ui/jquery.ui.widget.js"></script>
+ <script src="../../ui/jquery.ui.button.js"></script>
+ <script src="../../ui/jquery.ui.tabs.js"></script>
+ <script src="../../ui/jquery.ui.dialog.js"></script>
+ <link rel="stylesheet" href="../demos.css">
+ <style>
+ #dialog label, #dialog input { display:block; }
+ #dialog label { margin-top: 0.5em; }
+ #dialog input, #dialog textarea { width: 95%; }
+ #tabs { margin-top: 1em; }
+ #tabs li .ui-icon-close { float: left; margin: 0.4em 0.2em 0 0; cursor: pointer; }
+ #add_tab { cursor: pointer; }
+ </style>
+ <script>
+ $(function() {
+ var tabTitle = $( "#tab_title" ),
+ tabContent = $( "#tab_content" ),
+ tabTemplate = "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close' role='presentation'>Remove Tab</span></li>",
+ tabCounter = 2;
+
+ var tabs = $( "#tabs" ).tabs();
+
+ // modal dialog init: custom buttons and a "close" callback resetting the form inside
+ var dialog = $( "#dialog" ).dialog({
+ autoOpen: false,
+ modal: true,
+ buttons: {
+ Add: function() {
+ addTab();
+ $( this ).dialog( "close" );
+ },
+ Cancel: function() {
+ $( this ).dialog( "close" );
+ }
+ },
+ close: function() {
+ form[ 0 ].reset();
+ }
+ });
+
+ // addTab form: calls addTab function on submit and closes the dialog
+ var form = dialog.find( "form" ).submit(function( event ) {
+ addTab();
+ dialog.dialog( "close" );
+ event.preventDefault();
+ });
+
+ // actual addTab function: adds new tab using the input from the form above
+ function addTab() {
+ var label = tabTitle.val() || "Tab " + tabCounter,
+ id = "tabs-" + tabCounter,
+ li = $( tabTemplate.replace( /#\{href\}/g, "#" + id ).replace( /#\{label\}/g, label ) ),
+ tabContentHtml = tabContent.val() || "Tab " + tabCounter + " content.";
+
+ tabs.find( ".ui-tabs-nav" ).append( li );
+ tabs.append( "<div id='" + id + "'><p>" + tabContentHtml + "</p></div>" );
+ tabs.tabs( "refresh" );
+ tabCounter++;
+ }
+
+ // addTab button: just opens the dialog
+ $( "#add_tab" )
+ .button()
+ .click(function() {
+ dialog.dialog( "open" );
+ });
+
+ // close icon: removing the tab on click
+ tabs.delegate( "span.ui-icon-close", "click", function() {
+ var panelId = $( this ).closest( "li" ).remove().attr( "aria-controls" );
+ $( "#" + panelId ).remove();
+ tabs.tabs( "refresh" );
+ });
+
+ tabs.bind( "keyup", function( event ) {
+ if ( event.altKey && event.keyCode === $.ui.keyCode.BACKSPACE ) {
+ var panelId = tabs.find( ".ui-tabs-active" ).remove().attr( "aria-controls" );
+ $( "#" + panelId ).remove();
+ tabs.tabs( "refresh" );
+ }
+ });
+ });
+ </script>
+</head>
+<body>
+
+<div id="dialog" title="Tab data">
+ <form>
+ <fieldset class="ui-helper-reset">
+ <label for="tab_title">Title</label>
+ <input type="text" name="tab_title" id="tab_title" value="" class="ui-widget-content ui-corner-all" />
+ <label for="tab_content">Content</label>
+ <textarea name="tab_content" id="tab_content" class="ui-widget-content ui-corner-all"></textarea>
+ </fieldset>
+ </form>
+</div>
+
+<button id="add_tab">Add Tab</button>
+
+<div id="tabs">
+ <ul>
+ <li><a href="#tabs-1">Nunc tincidunt</a> <span class="ui-icon ui-icon-close" role="presentation">Remove Tab</span></li>
+ </ul>
+ <div id="tabs-1">
+ <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>
+ </div>
+</div>
+
+<div class="demo-description">
+<p>Simple tabs adding and removing.</p>
+</div>
+</body>
+</html>