Blame view

framework/javascript/TabSet.js 964 Bytes
0084d336   Administrator   Importers CRUD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  (function($){
  	$.entwine('ss', function($){
  		/**
  		 * Lightweight wrapper around jQuery UI tabs for generic tab set-up
  		 */
  		$('.ss-tabset').entwine({
  			IgnoreTabState: false,
  
  			onadd: function() {
  				// Can't name redraw() as it clashes with other CMS entwine classes
  				this.redrawTabs();
  				this._super();
  			},
  			onremove: function() {
  				if(this.data('tabs')) this.tabs('destroy');
  				this._super();
  			},
  			redrawTabs: function() {
  				this.rewriteHashlinks();
  				this.tabs();
  			},
  		
  			/**
  			 * Ensure hash links are prefixed with the current page URL,
  			 * otherwise jQuery interprets them as being external.
  			 */
  			rewriteHashlinks: function() {
  				$(this).find('ul a').each(function() {
  					if (!$(this).attr('href')) return;
  					
  					var matches = $(this).attr('href').match(/#.*/);
  					if(!matches) return;
  					$(this).attr('href', document.location.href.replace(/#.*/, '') + matches[0]);
  				});
  			}
  		});
  	});
  })(jQuery);