mirror of
https://github.com/processwire/processwire.git
synced 2025-08-11 09:14:58 +02:00
Fix issue processwire/processwire-issues#233
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
|
||||
var options = {
|
||||
rememberTabs: 0, // -1 = no, 0 = only after submit, 1 = always
|
||||
requestID: '',
|
||||
cookieName: 'WireTabs',
|
||||
items: null,
|
||||
skipRememberTabIDs: [],
|
||||
@@ -24,7 +25,7 @@
|
||||
|
||||
var totalTabs = 0;
|
||||
var cfg = ProcessWire.config.JqueryWireTabs;
|
||||
var keys = [ 'rememberTabs', 'cookieName', 'liActiveClass', 'aActiveClass', 'ulClass', 'ulAttrs' ];
|
||||
var keys = [ 'rememberTabs', 'requestID', 'cookieName', 'liActiveClass', 'aActiveClass', 'ulClass', 'ulAttrs' ];
|
||||
|
||||
for(var n = 0; n < keys.length; n++) {
|
||||
var key = keys[n];
|
||||
@@ -186,11 +187,11 @@
|
||||
}
|
||||
|
||||
function setTabCookie(value) {
|
||||
document.cookie = options.cookieName + '=' + escape(value);
|
||||
document.cookie = options.cookieName + '=' + options.requestID + '-' + escape(value);
|
||||
}
|
||||
|
||||
function getTabCookie() {
|
||||
var regex = new RegExp('(?:^|;)\\s?' + options.cookieName + '=(.*?)(?:;|$)','i');
|
||||
var regex = new RegExp('(?:^|;)\\s?' + options.cookieName + '=' + options.requestID + '-(.*?)(?:;|$)','i');
|
||||
var match = document.cookie.match(regex);
|
||||
match = match ? match[1] : '';
|
||||
return match;
|
||||
|
@@ -1 +1 @@
|
||||
(function(a){a.fn.WireTabs=function(d){var e={rememberTabs:0,cookieName:"WireTabs",items:null,skipRememberTabIDs:[],itemsParent:null,ulClass:"WireTabs nav",ulAttrs:"",liActiveClass:"",aActiveClass:"on",id:""};var c=0;var b=ProcessWire.config.JqueryWireTabs;var g=["rememberTabs","cookieName","liActiveClass","aActiveClass","ulClass","ulAttrs"];for(var h=0;h<g.length;h++){var f=g[h];if(typeof b[f]!="undefined"){e[f]=b[f]}}a.extend(e,d);return this.each(function(m){var o=null;var i=a(this);var l="";var q=true;function r(){if(!e.items){return}if(e.items.length<1){return}if(e.id.length){o=a("#"+e.id);if(o.length){q=false}else{o=null}}if(!o){o=a("<ul"+(e.ulAttrs?" "+e.ulAttrs:"")+"></ul>");o.addClass(e.ulClass);if(e.id.length){o.attr("id",e.id)}}e.items.each(j);if(q){i.prepend(o)}var t=i;var w=null;var y=p();if(e.rememberTabs==0){t.submit(function(){k(l);return true})}var s=window.location.href;var u="";if(s.indexOf("WireTab")){var v=new RegExp("[&;?]WireTab=([-_a-z0-9]+)","i");u=s.match(v);u=u?u[1]:"";if(u.length){w=o.find("a#_"+u)}}if(w==null){var x=document.location.hash.replace("#","");if(x.length){w=o.find("a#_"+x);if(w.length==0){w=null}else{document.location.hash=""}}}if(w==null&&y.length>0&&e.rememberTabs>-1){w=o.find("a#"+y)}if(w&&w.length>0){w.click();if(e.rememberTabs==0){k("")}setTimeout(function(){w.click()},200)}else{o.children("li:first").children("a").click()}}function j(){c++;var w=a(this);if(!w.attr("id")){w.attr("id","WireTab"+c)}var v=w.attr("title")||w.attr("id");w.removeAttr("title");var s=w.attr("id");var u=a("a#_"+s);if(u.length>0){u.click(n)}else{var u=a("<a></a>").attr("href","#"+s).attr("id","_"+s).html(v).click(n);o.append(a("<li></li>").append(u))}var t=w.attr("data-tooltip");if(w.hasClass("WireTabTip")||t){u.addClass("tooltip");u.attr("title",t?t:v)}w.hide()}function n(){var t=e.aActiveClass;var z=e.liActiveClass;var u=o.find("a."+t);var x=a(this);if(!u.length){u=o.find("a:eq(0)")}var w=u.attr("href");var y=x.attr("href");var v=w&&w.indexOf("#")===0?a(w):null;var s=y&&y.indexOf("#")===0?a(y):null;var B=x.attr("id");var A=u.attr("id");u.removeClass(t);x.addClass(t);if(z.length){u.closest("li").removeClass(z);x.closest("li").addClass(z)}if(v){v.hide()}if(s){s.show()}else{if(y&&y.length){window.location.href=y;return true}}if(A){i.removeClass(v.attr("id"))}i.addClass(B);if(e.rememberTabs>-1){if(jQuery.inArray(B,e.skipRememberTabIDs)!=-1){B=""}if(e.rememberTabs==1){k(B)}l=B}a(document).trigger("wiretabclick",[s,v]);return false}function k(s){document.cookie=e.cookieName+"="+escape(s)}function p(){var t=new RegExp("(?:^|;)\\s?"+e.cookieName+"=(.*?)(?:;|$)","i");var s=document.cookie.match(t);s=s?s[1]:"";return s}r()})}})(jQuery);
|
||||
(function(a){a.fn.WireTabs=function(d){var e={rememberTabs:0,requestID:"",cookieName:"WireTabs",items:null,skipRememberTabIDs:[],itemsParent:null,ulClass:"WireTabs nav",ulAttrs:"",liActiveClass:"",aActiveClass:"on",id:""};var c=0;var b=ProcessWire.config.JqueryWireTabs;var g=["rememberTabs","requestID","cookieName","liActiveClass","aActiveClass","ulClass","ulAttrs"];for(var h=0;h<g.length;h++){var f=g[h];if(typeof b[f]!="undefined"){e[f]=b[f]}}a.extend(e,d);return this.each(function(m){var o=null;var i=a(this);var l="";var q=true;function r(){if(!e.items){return}if(e.items.length<1){return}if(e.id.length){o=a("#"+e.id);if(o.length){q=false}else{o=null}}if(!o){o=a("<ul"+(e.ulAttrs?" "+e.ulAttrs:"")+"></ul>");o.addClass(e.ulClass);if(e.id.length){o.attr("id",e.id)}}e.items.each(j);if(q){i.prepend(o)}var t=i;var w=null;var y=p();if(e.rememberTabs==0){t.submit(function(){k(l);return true})}var s=window.location.href;var u="";if(s.indexOf("WireTab")){var v=new RegExp("[&;?]WireTab=([-_a-z0-9]+)","i");u=s.match(v);u=u?u[1]:"";if(u.length){w=o.find("a#_"+u)}}if(w==null){var x=document.location.hash.replace("#","");if(x.length){w=o.find("a#_"+x);if(w.length==0){w=null}else{document.location.hash=""}}}if(w==null&&y.length>0&&e.rememberTabs>-1){w=o.find("a#"+y)}if(w&&w.length>0){w.click();if(e.rememberTabs==0){k("")}setTimeout(function(){w.click()},200)}else{o.children("li:first").children("a").click()}}function j(){c++;var w=a(this);if(!w.attr("id")){w.attr("id","WireTab"+c)}var v=w.attr("title")||w.attr("id");w.removeAttr("title");var s=w.attr("id");var u=a("a#_"+s);if(u.length>0){u.click(n)}else{var u=a("<a></a>").attr("href","#"+s).attr("id","_"+s).html(v).click(n);o.append(a("<li></li>").append(u))}var t=w.attr("data-tooltip");if(w.hasClass("WireTabTip")||t){u.addClass("tooltip");u.attr("title",t?t:v)}w.hide()}function n(){var t=e.aActiveClass;var z=e.liActiveClass;var u=o.find("a."+t);var x=a(this);if(!u.length){u=o.find("a:eq(0)")}var w=u.attr("href");var y=x.attr("href");var v=w&&w.indexOf("#")===0?a(w):null;var s=y&&y.indexOf("#")===0?a(y):null;var B=x.attr("id");var A=u.attr("id");u.removeClass(t);x.addClass(t);if(z.length){u.closest("li").removeClass(z);x.closest("li").addClass(z)}if(v){v.hide()}if(s){s.show()}else{if(y&&y.length){window.location.href=y;return true}}if(A){i.removeClass(v.attr("id"))}i.addClass(B);if(e.rememberTabs>-1){if(jQuery.inArray(B,e.skipRememberTabIDs)!=-1){B=""}if(e.rememberTabs==1){k(B)}l=B}a(document).trigger("wiretabclick",[s,v]);return false}function k(s){document.cookie=e.cookieName+"="+e.requestID+"-"+escape(s)}function p(){var t=new RegExp("(?:^|;)\\s?"+e.cookieName+"="+e.requestID+"-(.*?)(?:;|$)","i");var s=document.cookie.match(t);s=s?s[1]:"";return s}r()})}})(jQuery);
|
@@ -16,7 +16,7 @@ class JqueryWireTabs extends ModuleJS implements ConfigurableModule {
|
||||
return array(
|
||||
'title' => __('jQuery Wire Tabs Plugin', __FILE__),
|
||||
'summary' => __('Provides a jQuery plugin for generating tabs in ProcessWire.', __FILE__),
|
||||
'version' => 107,
|
||||
'version' => 108,
|
||||
'permanent' => true,
|
||||
);
|
||||
}
|
||||
@@ -33,6 +33,7 @@ class JqueryWireTabs extends ModuleJS implements ConfigurableModule {
|
||||
'ulClass' => 'WireTabs nav',
|
||||
'ulAttrs' => '',
|
||||
'liActiveClass' => '',
|
||||
'requestID' => ((string) $this->wire('process')) . ((int) $this->wire('input')->get('id')),
|
||||
'aActiveClass' => 'on',
|
||||
'rememberTabs' => (int) $this->rememberTabs,
|
||||
'loadStyles' => true,
|
||||
|
Reference in New Issue
Block a user