annotate src/main/webapp/imageServer/resources/js/jquery-ui-1.10.4/demos/widget/default.html @ 171:50b8103ec85c public_by_author

still more work on publicByAuthor feature.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Fri, 01 Jun 2018 16:04:38 +0200
parents 764f47286679
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
jurzua
parents:
diff changeset
1 <!doctype html>
jurzua
parents:
diff changeset
2 <html lang="en">
jurzua
parents:
diff changeset
3 <head>
jurzua
parents:
diff changeset
4 <meta charset="utf-8">
jurzua
parents:
diff changeset
5 <title>jQuery UI Widget - Default functionality</title>
jurzua
parents:
diff changeset
6 <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
jurzua
parents:
diff changeset
7 <script src="../../jquery-1.10.2.js"></script>
jurzua
parents:
diff changeset
8 <script src="../../ui/jquery.ui.core.js"></script>
jurzua
parents:
diff changeset
9 <script src="../../ui/jquery.ui.position.js"></script>
jurzua
parents:
diff changeset
10 <script src="../../ui/jquery.ui.widget.js"></script>
jurzua
parents:
diff changeset
11 <script src="../../ui/jquery.ui.button.js"></script>
jurzua
parents:
diff changeset
12 <link rel="stylesheet" href="../demos.css">
jurzua
parents:
diff changeset
13 <style>
jurzua
parents:
diff changeset
14 .custom-colorize {
jurzua
parents:
diff changeset
15 font-size: 20px;
jurzua
parents:
diff changeset
16 position: relative;
jurzua
parents:
diff changeset
17 width: 75px;
jurzua
parents:
diff changeset
18 height: 75px;
jurzua
parents:
diff changeset
19 }
jurzua
parents:
diff changeset
20 .custom-colorize-changer {
jurzua
parents:
diff changeset
21 font-size: 10px;
jurzua
parents:
diff changeset
22 position: absolute;
jurzua
parents:
diff changeset
23 right: 0;
jurzua
parents:
diff changeset
24 bottom: 0;
jurzua
parents:
diff changeset
25 }
jurzua
parents:
diff changeset
26 </style>
jurzua
parents:
diff changeset
27 <script>
jurzua
parents:
diff changeset
28 $(function() {
jurzua
parents:
diff changeset
29 // the widget definition, where "custom" is the namespace,
jurzua
parents:
diff changeset
30 // "colorize" the widget name
jurzua
parents:
diff changeset
31 $.widget( "custom.colorize", {
jurzua
parents:
diff changeset
32 // default options
jurzua
parents:
diff changeset
33 options: {
jurzua
parents:
diff changeset
34 red: 255,
jurzua
parents:
diff changeset
35 green: 0,
jurzua
parents:
diff changeset
36 blue: 0,
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 // callbacks
jurzua
parents:
diff changeset
39 change: null,
jurzua
parents:
diff changeset
40 random: null
jurzua
parents:
diff changeset
41 },
jurzua
parents:
diff changeset
42
jurzua
parents:
diff changeset
43 // the constructor
jurzua
parents:
diff changeset
44 _create: function() {
jurzua
parents:
diff changeset
45 this.element
jurzua
parents:
diff changeset
46 // add a class for theming
jurzua
parents:
diff changeset
47 .addClass( "custom-colorize" )
jurzua
parents:
diff changeset
48 // prevent double click to select text
jurzua
parents:
diff changeset
49 .disableSelection();
jurzua
parents:
diff changeset
50
jurzua
parents:
diff changeset
51 this.changer = $( "<button>", {
jurzua
parents:
diff changeset
52 text: "change",
jurzua
parents:
diff changeset
53 "class": "custom-colorize-changer"
jurzua
parents:
diff changeset
54 })
jurzua
parents:
diff changeset
55 .appendTo( this.element )
jurzua
parents:
diff changeset
56 .button();
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 // bind click events on the changer button to the random method
jurzua
parents:
diff changeset
59 this._on( this.changer, {
jurzua
parents:
diff changeset
60 // _on won't call random when widget is disabled
jurzua
parents:
diff changeset
61 click: "random"
jurzua
parents:
diff changeset
62 });
jurzua
parents:
diff changeset
63 this._refresh();
jurzua
parents:
diff changeset
64 },
jurzua
parents:
diff changeset
65
jurzua
parents:
diff changeset
66 // called when created, and later when changing options
jurzua
parents:
diff changeset
67 _refresh: function() {
jurzua
parents:
diff changeset
68 this.element.css( "background-color", "rgb(" +
jurzua
parents:
diff changeset
69 this.options.red +"," +
jurzua
parents:
diff changeset
70 this.options.green + "," +
jurzua
parents:
diff changeset
71 this.options.blue + ")"
jurzua
parents:
diff changeset
72 );
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 // trigger a callback/event
jurzua
parents:
diff changeset
75 this._trigger( "change" );
jurzua
parents:
diff changeset
76 },
jurzua
parents:
diff changeset
77
jurzua
parents:
diff changeset
78 // a public method to change the color to a random value
jurzua
parents:
diff changeset
79 // can be called directly via .colorize( "random" )
jurzua
parents:
diff changeset
80 random: function( event ) {
jurzua
parents:
diff changeset
81 var colors = {
jurzua
parents:
diff changeset
82 red: Math.floor( Math.random() * 256 ),
jurzua
parents:
diff changeset
83 green: Math.floor( Math.random() * 256 ),
jurzua
parents:
diff changeset
84 blue: Math.floor( Math.random() * 256 )
jurzua
parents:
diff changeset
85 };
jurzua
parents:
diff changeset
86
jurzua
parents:
diff changeset
87 // trigger an event, check if it's canceled
jurzua
parents:
diff changeset
88 if ( this._trigger( "random", event, colors ) !== false ) {
jurzua
parents:
diff changeset
89 this.option( colors );
jurzua
parents:
diff changeset
90 }
jurzua
parents:
diff changeset
91 },
jurzua
parents:
diff changeset
92
jurzua
parents:
diff changeset
93 // events bound via _on are removed automatically
jurzua
parents:
diff changeset
94 // revert other modifications here
jurzua
parents:
diff changeset
95 _destroy: function() {
jurzua
parents:
diff changeset
96 // remove generated elements
jurzua
parents:
diff changeset
97 this.changer.remove();
jurzua
parents:
diff changeset
98
jurzua
parents:
diff changeset
99 this.element
jurzua
parents:
diff changeset
100 .removeClass( "custom-colorize" )
jurzua
parents:
diff changeset
101 .enableSelection()
jurzua
parents:
diff changeset
102 .css( "background-color", "transparent" );
jurzua
parents:
diff changeset
103 },
jurzua
parents:
diff changeset
104
jurzua
parents:
diff changeset
105 // _setOptions is called with a hash of all options that are changing
jurzua
parents:
diff changeset
106 // always refresh when changing options
jurzua
parents:
diff changeset
107 _setOptions: function() {
jurzua
parents:
diff changeset
108 // _super and _superApply handle keeping the right this-context
jurzua
parents:
diff changeset
109 this._superApply( arguments );
jurzua
parents:
diff changeset
110 this._refresh();
jurzua
parents:
diff changeset
111 },
jurzua
parents:
diff changeset
112
jurzua
parents:
diff changeset
113 // _setOption is called for each individual option that is changing
jurzua
parents:
diff changeset
114 _setOption: function( key, value ) {
jurzua
parents:
diff changeset
115 // prevent invalid color values
jurzua
parents:
diff changeset
116 if ( /red|green|blue/.test(key) && (value < 0 || value > 255) ) {
jurzua
parents:
diff changeset
117 return;
jurzua
parents:
diff changeset
118 }
jurzua
parents:
diff changeset
119 this._super( key, value );
jurzua
parents:
diff changeset
120 }
jurzua
parents:
diff changeset
121 });
jurzua
parents:
diff changeset
122
jurzua
parents:
diff changeset
123 // initialize with default options
jurzua
parents:
diff changeset
124 $( "#my-widget1" ).colorize();
jurzua
parents:
diff changeset
125
jurzua
parents:
diff changeset
126 // initialize with two customized options
jurzua
parents:
diff changeset
127 $( "#my-widget2" ).colorize({
jurzua
parents:
diff changeset
128 red: 60,
jurzua
parents:
diff changeset
129 blue: 60
jurzua
parents:
diff changeset
130 });
jurzua
parents:
diff changeset
131
jurzua
parents:
diff changeset
132 // initialize with custom green value
jurzua
parents:
diff changeset
133 // and a random callback to allow only colors with enough green
jurzua
parents:
diff changeset
134 $( "#my-widget3" ).colorize( {
jurzua
parents:
diff changeset
135 green: 128,
jurzua
parents:
diff changeset
136 random: function( event, ui ) {
jurzua
parents:
diff changeset
137 return ui.green > 128;
jurzua
parents:
diff changeset
138 }
jurzua
parents:
diff changeset
139 });
jurzua
parents:
diff changeset
140
jurzua
parents:
diff changeset
141 // click to toggle enabled/disabled
jurzua
parents:
diff changeset
142 $( "#disable" ).click(function() {
jurzua
parents:
diff changeset
143 // use the custom selector created for each widget to find all instances
jurzua
parents:
diff changeset
144 // all instances are toggled together, so we can check the state from the first
jurzua
parents:
diff changeset
145 if ( $( ":custom-colorize" ).colorize( "option", "disabled" ) ) {
jurzua
parents:
diff changeset
146 $( ":custom-colorize" ).colorize( "enable" );
jurzua
parents:
diff changeset
147 } else {
jurzua
parents:
diff changeset
148 $( ":custom-colorize" ).colorize( "disable" );
jurzua
parents:
diff changeset
149 }
jurzua
parents:
diff changeset
150 });
jurzua
parents:
diff changeset
151
jurzua
parents:
diff changeset
152 // click to set options after initialization
jurzua
parents:
diff changeset
153 $( "#black" ).click( function() {
jurzua
parents:
diff changeset
154 $( ":custom-colorize" ).colorize( "option", {
jurzua
parents:
diff changeset
155 red: 0,
jurzua
parents:
diff changeset
156 green: 0,
jurzua
parents:
diff changeset
157 blue: 0
jurzua
parents:
diff changeset
158 });
jurzua
parents:
diff changeset
159 });
jurzua
parents:
diff changeset
160 });
jurzua
parents:
diff changeset
161 </script>
jurzua
parents:
diff changeset
162 </head>
jurzua
parents:
diff changeset
163 <body>
jurzua
parents:
diff changeset
164
jurzua
parents:
diff changeset
165 <div>
jurzua
parents:
diff changeset
166 <div id="my-widget1">color me</div>
jurzua
parents:
diff changeset
167 <div id="my-widget2">color me</div>
jurzua
parents:
diff changeset
168 <div id="my-widget3">color me</div>
jurzua
parents:
diff changeset
169 <button id="disable">Toggle disabled option</button>
jurzua
parents:
diff changeset
170 <button id="black">Go black</button>
jurzua
parents:
diff changeset
171 </div>
jurzua
parents:
diff changeset
172
jurzua
parents:
diff changeset
173 <div class="demo-description">
jurzua
parents:
diff changeset
174 <p>This demo shows a simple custom widget built using the widget factory (jquery.ui.widget.js).</p>
jurzua
parents:
diff changeset
175 <p>The three boxes are initialized in different ways. Clicking them changes their background color. View source to see how it works, its heavily commented</p>
jurzua
parents:
diff changeset
176 </div>
jurzua
parents:
diff changeset
177 </body>
jurzua
parents:
diff changeset
178 </html>