annotate client/digitallibrary/jquery/jquery.digilib.js @ 597:33605dd3e9c6 jquery

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