[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 /** 2 * Author: Prasad.A 3 * Copyright: You are free to use or modify this extension in commercial and non-commercial application 4 * However, make sure to keep the information about this copyright and author information. Provide the 5 * credits wherever possible. 6 */ 7 ;(function($){ 8 9 $.fn.pushVirtualPage = function() { 10 // Make this element as root node first 11 var holder = this; 12 if (!holder.hasClass('virtualpages')) { 13 holder.addClass('virtualpages'); 14 } 15 16 var pages = $('.virtualpage', holder); 17 18 // If its the first page to be added but there are contents 19 // inside this element, wrap it into a page. 20 if (pages.length == 0 && holder.children().length) { 21 var wrapper = $('<div class="virtualpage"></div>'); 22 var olderChildrens = holder.children(); 23 wrapper.append(olderChildrens.clone(true, true)); 24 olderChildrens.remove(); 25 holder.empty().append(wrapper); 26 // rebuild the reference 27 pages = $('.virtualpage', holder); 28 } 29 30 // Save scroll position 31 var activePage = this.activeVirtualPage(); 32 activePage.data('scrolltop', $(window).scrollTop()); 33 34 holder.data('virtualpage-activeindex', pages.length); 35 pages.hide(); 36 37 var page = $('<div class="virtualpage"></div>'); 38 page.data('isvirtualpage', true); 39 holder.append(page); 40 page.show(); 41 return page; 42 } 43 44 $.fn.popVirtualPage = function(limit) { 45 // Page generally will be popped off w.r.t root node 46 var holder = this; 47 if (!this.hasClass('virtualpages')) { 48 holder = this.closest('.virtualpages'); 49 if (holder.length) return false; 50 } 51 52 var pages = holder.children('.virtualpage'); 53 if (typeof(limit) == 'undefined') limit = pages.length-1; 54 55 if (pages.length > limit) { 56 pages.hide(); 57 var page = pages[pages.length-1]; 58 $(page).remove(); 59 delete page; 60 61 var activePage = $(pages[pages.length-2]); 62 activePage.show(); 63 // Restore scroll position 64 if (activePage.data('scrolltop')) { 65 $(window).scrollTop(activePage.data('scrolltop')) 66 } 67 68 holder.data('virtualpage-activeindex', pages.length-2); 69 return true; 70 } 71 return false; 72 } 73 74 $.fn.popVirtualPageTo = function(limit) { 75 while (this.popVirtualPage(limit)) continue; 76 } 77 78 $.fn.getVirtualPage = function() { 79 if (this.hasClass('virtualpage')) return this; 80 return this.closest('.virtualpage'); 81 } 82 83 $.fn.activeVirtualPage = function() { 84 var holder = this; 85 var activeIndex = parseInt(holder.data('virtualpage-activeindex')); 86 var pages = $('.virtualpage', holder); 87 return $(pages[activeIndex]); 88 } 89 })(jQuery);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |