diff --git a/wire/modules/LanguageSupport/LanguageTabs.css b/wire/modules/LanguageSupport/LanguageTabs.css index c811c846..7a4a9388 100644 --- a/wire/modules/LanguageSupport/LanguageTabs.css +++ b/wire/modules/LanguageSupport/LanguageTabs.css @@ -34,7 +34,8 @@ .langTabsToggle { float: right; - margin-right: 1em; } + margin-right: 1em; + cursor: pointer; } .InputfieldStateCollapsed .langTabsToggle { display: none; } @@ -165,5 +166,3 @@ body.LanguageTabsJqueryUI { cursor: pointer; } */ - -/*# sourceMappingURL=LanguageTabs.css.map */ diff --git a/wire/modules/LanguageSupport/LanguageTabs.js b/wire/modules/LanguageSupport/LanguageTabs.js index 11bbb58d..c0636d34 100644 --- a/wire/modules/LanguageSupport/LanguageTabs.js +++ b/wire/modules/LanguageSupport/LanguageTabs.js @@ -109,27 +109,21 @@ function toggleLanguageTabs() { if($content.hasClass('langTabsContainer')) { $ul.find('.langTabLastActive').removeClass('langTabLastActive'); - $ul.find('.' + cfg.liActiveClass).addClass('langTabLastActive'); + if(cfg.liActiveClass) $ul.find('.' + cfg.liActiveClass).addClass('langTabLastActive'); $ul.find('a').click(); // activate all (i.e. for CKEditor) $content.removeClass('langTabsContainer'); $inputfield.removeClass('hasLangTabs').addClass('langTabsOff'); $this.addClass('langTabsOff'); - if(cfg.jQueryUI) { - $langTabs.tabs('destroy'); - } else { - $ul.hide(); - } + if(cfg.jQueryUI) $langTabs.tabs('destroy'); + $ul.hide(); $this.attr("title", ProcessWire.config.LanguageTabs.labelClose) .find('i').removeClass("fa-folder-o").addClass("fa-folder-open-o"); } else { $content.addClass('langTabsContainer'); $inputfield.addClass('hasLangTabs').removeClass('langTabsOff'); $this.removeClass('langTabsOff'); - if(cfg.jQueryUI) { - $langTabs.tabs(); - } else { - $ul.show(); - } + if(cfg.jQueryUI) $langTabs.tabs(); + $ul.show(); $(this).attr("title", cfg.labelOpen).find('i').addClass("fa-folder-o").removeClass("fa-folder-open-o"); $ul.find('.langTabLastActive').removeClass('langTabLastActive').children('a').click(); } @@ -161,7 +155,7 @@ function hideLanguageTabs() { // make sure first tab is clicked var $tab = $(".langTabs").find("li:eq(0)"); var cfg = ProcessWire.config.LanguageTabs; - if(!$tab.hasClass(cfg.liActiveClass)) $tab.find('a').click(); + if(cfg.liActiveClass && !$tab.hasClass(cfg.liActiveClass)) $tab.find('a').click(); // hide the tab toggler $(".langTabsToggle, .LanguageSupportLabel:visible, .langTabs > ul").addClass('langTabsHidden'); diff --git a/wire/modules/LanguageSupport/LanguageTabs.min.js b/wire/modules/LanguageSupport/LanguageTabs.min.js index 00454655..ad6aa1b4 100644 --- a/wire/modules/LanguageSupport/LanguageTabs.min.js +++ b/wire/modules/LanguageSupport/LanguageTabs.min.js @@ -1 +1 @@ -var clickLanguageTabActive=false;function dblclickLanguageTab(c){if(clickLanguageTabActive){return}clickLanguageTabActive=true;var b=$(this);var d=b.attr("data-lang");var a=b.closest("form").find("a.langTab"+d).not(b);b.click();a.click();a.effect("highlight",250);setTimeout(function(){clickLanguageTabActive=false},250)}function setupLanguageTabs(b){var c;var a=ProcessWire.config.LanguageTabs;if(b.hasClass("langTabs")){c=b}else{c=b.find(".langTabs")}c.each(function(){var j=$(this);if(j.hasClass("langTabsInit")||j.hasClass("ui-tabs")){return}var g=j.closest(".Inputfield");var f=g.children(".InputfieldContent");if(!f.hasClass("langTabsContainer")){if(g.find(".langTabsContainer").length==0){f.addClass("langTabsContainer")}}if(a.jQueryUI){j.tabs({active:a.activeTab})}j.addClass("langTabsInit");if(g.length){g.addClass("hasLangTabs")}var i=j.parent(".InputfieldContent");if(i.length){var e=$("").attr("title",a.labelOpen).attr("class","langTabsToggle").append("");i.prev(".InputfieldHeader").append(e)}var k=j.find("a");var h=null;var d=i.find(".langTabsNote");k.on("mouseover",function(){if(h){clearTimeout(h)}if(i.width()<500){return}h=setTimeout(function(){d.fadeIn("fast")},250)}).on("mouseout",function(){if(h){clearTimeout(h)}if(i.width()<500){return}h=setTimeout(function(){d.fadeOut("fast")},250)}).on("click",function(){var n=$(this);var o=n.closest("ul").siblings(".LanguageSupport");var m=o.filter(".LanguageSupportCurrent");var l=o.filter(n.attr("href"));if(m.attr("id")==l.attr("id")){n.trigger("dblclicklangtab")}else{m.removeClass("LanguageSupportCurrent");l.addClass("LanguageSupportCurrent")}if(n.closest("ul.uk-tab").length){n.closest("li").click()}});if(!a.jQueryUI){k.eq(a.activeTab).click()}})}function toggleLanguageTabs(){var g=$(this);var b=g.closest(".InputfieldHeader");var d=b.next(".InputfieldContent");var f=b.parent(".Inputfield");var e=d.children(".langTabs");var c=e.children("ul");var a=ProcessWire.config.LanguageTabs;clickLanguageTabActive=true;if(d.hasClass("langTabsContainer")){c.find(".langTabLastActive").removeClass("langTabLastActive");c.find("."+a.liActiveClass).addClass("langTabLastActive");c.find("a").click();d.removeClass("langTabsContainer");f.removeClass("hasLangTabs").addClass("langTabsOff");g.addClass("langTabsOff");if(a.jQueryUI){e.tabs("destroy")}else{c.hide()}g.attr("title",ProcessWire.config.LanguageTabs.labelClose).find("i").removeClass("fa-folder-o").addClass("fa-folder-open-o")}else{d.addClass("langTabsContainer");f.addClass("hasLangTabs").removeClass("langTabsOff");g.removeClass("langTabsOff");if(a.jQueryUI){e.tabs()}else{c.show()}$(this).attr("title",a.labelOpen).find("i").addClass("fa-folder-o").removeClass("fa-folder-open-o");c.find(".langTabLastActive").removeClass("langTabLastActive").children("a").click()}clickLanguageTabActive=false;return false}function hideLanguageTabs(){$(".InputfieldContent").each(function(){var c=0;$(this).children(".LanguageSupport").each(function(){if(++c==1){$(this).closest(".Inputfield").addClass("hadLanguageSupport");return}$(this).addClass("langTabsHidden")})});var b=$(".langTabs").find("li:eq(0)");var a=ProcessWire.config.LanguageTabs;if(!b.hasClass(a.liActiveClass)){b.find("a").click()}$(".langTabsToggle, .LanguageSupportLabel:visible, .langTabs > ul").addClass("langTabsHidden");$(".hasLangTabs").removeClass("hasLangTabs").addClass("hadLangTabs")}function unhideLanguageTabs(){$(".langTabsHidden").removeClass("langTabsHidden");$(".hadLangTabs").removeClass("hadLangTabs").addClass("hasLangTabs");$(".hadLanguageSupport").removeClass("hadLanguageSupport")}jQuery(document).ready(function(){$(document).on("click",".langTabsToggle",toggleLanguageTabs);$(document).on("dblclicklangtab",".langTabs a",dblclickLanguageTab);$(document).on("reloaded",".Inputfield",function(){setupLanguageTabs($(this))});$(document).on("AjaxUploadDone",".InputfieldHasFileList .InputfieldFileList",function(){setupLanguageTabs($(this))})}); \ No newline at end of file +var clickLanguageTabActive=false;function dblclickLanguageTab(c){if(clickLanguageTabActive){return}clickLanguageTabActive=true;var b=$(this);var d=b.attr("data-lang");var a=b.closest("form").find("a.langTab"+d).not(b);b.click();a.click();a.effect("highlight",250);setTimeout(function(){clickLanguageTabActive=false},250)}function setupLanguageTabs(b){var c;var a=ProcessWire.config.LanguageTabs;if(b.hasClass("langTabs")){c=b}else{c=b.find(".langTabs")}c.each(function(){var j=$(this);if(j.hasClass("langTabsInit")||j.hasClass("ui-tabs")){return}var g=j.closest(".Inputfield");var f=g.children(".InputfieldContent");if(!f.hasClass("langTabsContainer")){if(g.find(".langTabsContainer").length==0){f.addClass("langTabsContainer")}}if(a.jQueryUI){j.tabs({active:a.activeTab})}j.addClass("langTabsInit");if(g.length){g.addClass("hasLangTabs")}var i=j.parent(".InputfieldContent");if(i.length){var e=$("").attr("title",a.labelOpen).attr("class","langTabsToggle").append("");i.prev(".InputfieldHeader").append(e)}var k=j.find("a");var h=null;var d=i.find(".langTabsNote");k.on("mouseover",function(){if(h){clearTimeout(h)}if(i.width()<500){return}h=setTimeout(function(){d.fadeIn("fast")},250)}).on("mouseout",function(){if(h){clearTimeout(h)}if(i.width()<500){return}h=setTimeout(function(){d.fadeOut("fast")},250)}).on("click",function(){var n=$(this);var o=n.closest("ul").siblings(".LanguageSupport");var m=o.filter(".LanguageSupportCurrent");var l=o.filter(n.attr("href"));if(m.attr("id")==l.attr("id")){n.trigger("dblclicklangtab")}else{m.removeClass("LanguageSupportCurrent");l.addClass("LanguageSupportCurrent")}if(n.closest("ul.uk-tab").length){n.closest("li").click()}});if(!a.jQueryUI){k.eq(a.activeTab).click()}})}function toggleLanguageTabs(){var g=$(this);var b=g.closest(".InputfieldHeader");var d=b.next(".InputfieldContent");var f=b.parent(".Inputfield");var e=d.children(".langTabs");var c=e.children("ul");var a=ProcessWire.config.LanguageTabs;clickLanguageTabActive=true;if(d.hasClass("langTabsContainer")){c.find(".langTabLastActive").removeClass("langTabLastActive");if(a.liActiveClass){c.find("."+a.liActiveClass).addClass("langTabLastActive")}c.find("a").click();d.removeClass("langTabsContainer");f.removeClass("hasLangTabs").addClass("langTabsOff");g.addClass("langTabsOff");if(a.jQueryUI){e.tabs("destroy")}c.hide();g.attr("title",ProcessWire.config.LanguageTabs.labelClose).find("i").removeClass("fa-folder-o").addClass("fa-folder-open-o")}else{d.addClass("langTabsContainer");f.addClass("hasLangTabs").removeClass("langTabsOff");g.removeClass("langTabsOff");if(a.jQueryUI){e.tabs()}c.show();$(this).attr("title",a.labelOpen).find("i").addClass("fa-folder-o").removeClass("fa-folder-open-o");c.find(".langTabLastActive").removeClass("langTabLastActive").children("a").click()}clickLanguageTabActive=false;return false}function hideLanguageTabs(){$(".InputfieldContent").each(function(){var c=0;$(this).children(".LanguageSupport").each(function(){if(++c==1){$(this).closest(".Inputfield").addClass("hadLanguageSupport");return}$(this).addClass("langTabsHidden")})});var b=$(".langTabs").find("li:eq(0)");var a=ProcessWire.config.LanguageTabs;if(a.liActiveClass&&!b.hasClass(a.liActiveClass)){b.find("a").click()}$(".langTabsToggle, .LanguageSupportLabel:visible, .langTabs > ul").addClass("langTabsHidden");$(".hasLangTabs").removeClass("hasLangTabs").addClass("hadLangTabs")}function unhideLanguageTabs(){$(".langTabsHidden").removeClass("langTabsHidden");$(".hadLangTabs").removeClass("hadLangTabs").addClass("hasLangTabs");$(".hadLanguageSupport").removeClass("hadLanguageSupport")}jQuery(document).ready(function(){$(document).on("click",".langTabsToggle",toggleLanguageTabs);$(document).on("dblclicklangtab",".langTabs a",dblclickLanguageTab);$(document).on("reloaded",".Inputfield",function(){setupLanguageTabs($(this))});$(document).on("AjaxUploadDone",".InputfieldHasFileList .InputfieldFileList",function(){setupLanguageTabs($(this))})}); \ No newline at end of file diff --git a/wire/modules/LanguageSupport/LanguageTabs.scss b/wire/modules/LanguageSupport/LanguageTabs.scss index cea39254..7413953b 100644 --- a/wire/modules/LanguageSupport/LanguageTabs.scss +++ b/wire/modules/LanguageSupport/LanguageTabs.scss @@ -55,6 +55,7 @@ .langTabsToggle { float: right; margin-right: 1em; + cursor: pointer; } .InputfieldStateCollapsed .langTabsToggle {