annotate client/digitallibrary/jquery/jquery.digilib.js @ 604:3a2942d2d5cd jquery

version zero of jquery.digilib
author robcast
date Wed, 12 Jan 2011 09:51:26 +0100
parents
children aee94e4a8c48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
604
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
1 /*
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
2 * digilib jQuery plugin
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
3 *
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
4 */
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
5
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
6 (function($) {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
7
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
8 var methods = {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
9 init : function(options) {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
10 return this.each(function() {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
11 var $this = $(this);
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
12 var data = $this.data('digilib');
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
13
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
14 // If the plugin hasn't been initialized yet
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
15 if (!data) {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
16
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
17 /*
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
18 * Do more setup stuff here
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
19 */
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
20
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
21 $(this).data('digilib', {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
22 target : $this
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
23 });
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
24 }
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
25 });
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
26 },
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
27 destroy : function() {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
28 return this.each(function(){
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
29 var $this = $(this);
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
30 var data = $this.data('digilib');
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
31 // Namespacing FTW
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
32 $(window).unbind('.digilib'); // FIXME: unbinds all digilibs
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
33 data.digilib.remove();
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
34 $this.removeData('digilib');
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
35 });
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
36 }
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
37 };
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
38
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
39 $.fn.digilib = function(method) {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
40
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
41 if (methods[method]) {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
42 return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
43 } else if (typeof(method) === 'object' || !method) {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
44 return methods.init.apply(this, arguments);
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
45 } else {
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
46 $.error( 'Method ' + method + ' does not exist on jQuery.digilib' );
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
47 }
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
48 };
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
49
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
50
3a2942d2d5cd version zero of jquery.digilib
robcast
parents:
diff changeset
51 })(jQuery);