1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-17 20:11:46 +02:00

Fix issue processwire/processwire-issues#65 modal window on InputfieldForm with HTML5 required inputs

This commit is contained in:
Ryan Cramer
2016-11-03 09:54:58 -04:00
parent 8116a5ba77
commit 1c3ea5ce51
7 changed files with 9 additions and 6 deletions

View File

@@ -58,7 +58,7 @@ class InputfieldCheckbox extends Inputfield {
if($this->checkedValueIsLabel) $label = $this->checkedValue;
else if($this->label2) $label = $this->label2;
$out =
"\n<label><input type='checkbox' " . $this->getAttributesString($attrs) . " />" .
"<label><input type='checkbox' " . $this->getAttributesString($attrs) . " />" .
"<span class='pw-no-select'>" . $this->entityEncode($label) . "</span></label>";
return $out;
}

View File

@@ -123,7 +123,7 @@ class InputfieldSubmit extends Inputfield {
$icon = $this->icon ? $this->sanitizer->name($this->icon) : '';
$icon = $icon ? "<i class='fa fa-$icon'></i> " : '';
$value = $this->entityEncode($this->attr('value'));
$out = "\n<button $attrs><span class='ui-button-text'>$icon$value</span></button>";
$out = "<button $attrs><span class='ui-button-text'>$icon$value</span></button>";
if(count($this->dropdownItems)) $out .= $this->renderDropdown();
return $out;
}

View File

@@ -368,7 +368,7 @@ function pwModalOpenEvent(e) {
'html': text,
'class': ($button.is('.ui-priority-secondary') ? 'ui-priority-secondary' : ''),
'click': function(e) {
jQuery(e.currentTarget).fadeOut('fast');
// jQuery(e.currentTarget).fadeOut('fast');
$button.click();
if(closeSelector.length > 0 && $button.is(closeSelector)) {
// immediately close if matches closeSelector

File diff suppressed because one or more lines are too long

View File

@@ -57,7 +57,6 @@ function setupLanguageTabs($form) {
var $links = $this.find('a');
var timeout = null;
var $note = $parent.find('.langTabsNote');
$links.on('longclick', longclickLanguageTab);
$links.on('mouseover', function() {
if(timeout) clearTimeout(timeout);
if($parent.width() < 500) return;
@@ -147,6 +146,7 @@ function unhideLanguageTabs() {
*/
jQuery(document).ready(function() {
$(document).on('click', '.langTabsToggle', toggleLanguageTabs);
$(document).on('longclick', '.langTabs a', longclickLanguageTab);
$(document).on('reloaded', '.Inputfield', function() {
setupLanguageTabs($(this));
});

View File

@@ -1 +1 @@
var clickLanguageTabActive=false;function longclickLanguageTab(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(a){var b;if(a.hasClass("langTabs")){b=a}else{b=a.find(".langTabs")}b.each(function(){var i=$(this);if(i.hasClass("ui-tabs")){return}var f=i.closest(".Inputfield");var e=f.children(".InputfieldContent");if(!e.hasClass("langTabsContainer")){if(f.find(".langTabsContainer").length==0){e.addClass("langTabsContainer")}}i.tabs({active:ProcessWire.config.LanguageTabs.activeTab});if(f.length){f.addClass("hasLangTabs")}var h=i.parent(".InputfieldContent");if(h.length){var d=$("<span></span>").attr("title",ProcessWire.config.LanguageTabs.title).attr("class","langTabsToggle").append("<i class='fa fa-folder-o'></i>");h.prev(".InputfieldHeader").append(d)}var j=i.find("a");var g=null;var c=h.find(".langTabsNote");j.on("longclick",longclickLanguageTab);j.on("mouseover",function(){if(g){clearTimeout(g)}if(h.width()<500){return}g=setTimeout(function(){c.fadeIn("fast")},250)}).on("mouseout",function(){if(g){clearTimeout(g)}if(h.width()<500){return}g=setTimeout(function(){c.fadeOut("fast")},250)})})}function toggleLanguageTabs(){var e=$(this);var a=e.closest(".InputfieldHeader");var b=a.next(".InputfieldContent");var d=a.parent(".Inputfield");var c=b.children(".langTabs");if(b.hasClass("langTabsContainer")){b.find(".ui-tabs-nav").find("a").click();b.removeClass("langTabsContainer");d.removeClass("hasLangTabs");e.addClass("langTabsOff");c.tabs("destroy");e.attr("title",ProcessWire.config.LanguageTabs.labelClose).find("i").removeClass("fa-folder-o").addClass("fa-folder-open-o")}else{b.addClass("langTabsContainer");d.addClass("hasLangTabs");e.removeClass("langTabsOff");c.tabs();$(this).attr("title",ProcessWire.config.LanguageTabs.labelOpen).find("i").addClass("fa-folder-o").removeClass("fa-folder-open-o")}return false}function hideLanguageTabs(){$(".InputfieldContent").each(function(){var b=0;$(this).children(".LanguageSupport").each(function(){if(++b==1){$(this).closest(".Inputfield").addClass("hadLanguageSupport");return}$(this).addClass("langTabsHidden")})});var a=$(".langTabs").find("li:eq(0)");if(!a.hasClass("ui-state-active")){a.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("reloaded",".Inputfield",function(){setupLanguageTabs($(this))});$(document).on("AjaxUploadDone",".InputfieldHasFileList .InputfieldFileList",function(){setupLanguageTabs($(this))})});
var clickLanguageTabActive=false;function longclickLanguageTab(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(a){var b;if(a.hasClass("langTabs")){b=a}else{b=a.find(".langTabs")}b.each(function(){var i=$(this);if(i.hasClass("ui-tabs")){return}var f=i.closest(".Inputfield");var e=f.children(".InputfieldContent");if(!e.hasClass("langTabsContainer")){if(f.find(".langTabsContainer").length==0){e.addClass("langTabsContainer")}}i.tabs({active:ProcessWire.config.LanguageTabs.activeTab});if(f.length){f.addClass("hasLangTabs")}var h=i.parent(".InputfieldContent");if(h.length){var d=$("<span></span>").attr("title",ProcessWire.config.LanguageTabs.title).attr("class","langTabsToggle").append("<i class='fa fa-folder-o'></i>");h.prev(".InputfieldHeader").append(d)}var j=i.find("a");var g=null;var c=h.find(".langTabsNote");j.on("mouseover",function(){if(g){clearTimeout(g)}if(h.width()<500){return}g=setTimeout(function(){c.fadeIn("fast")},250)}).on("mouseout",function(){if(g){clearTimeout(g)}if(h.width()<500){return}g=setTimeout(function(){c.fadeOut("fast")},250)})})}function toggleLanguageTabs(){var e=$(this);var a=e.closest(".InputfieldHeader");var b=a.next(".InputfieldContent");var d=a.parent(".Inputfield");var c=b.children(".langTabs");if(b.hasClass("langTabsContainer")){b.find(".ui-tabs-nav").find("a").click();b.removeClass("langTabsContainer");d.removeClass("hasLangTabs");e.addClass("langTabsOff");c.tabs("destroy");e.attr("title",ProcessWire.config.LanguageTabs.labelClose).find("i").removeClass("fa-folder-o").addClass("fa-folder-open-o")}else{b.addClass("langTabsContainer");d.addClass("hasLangTabs");e.removeClass("langTabsOff");c.tabs();$(this).attr("title",ProcessWire.config.LanguageTabs.labelOpen).find("i").addClass("fa-folder-o").removeClass("fa-folder-open-o")}return false}function hideLanguageTabs(){$(".InputfieldContent").each(function(){var b=0;$(this).children(".LanguageSupport").each(function(){if(++b==1){$(this).closest(".Inputfield").addClass("hadLanguageSupport");return}$(this).addClass("langTabsHidden")})});var a=$(".langTabs").find("li:eq(0)");if(!a.hasClass("ui-state-active")){a.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("longclick",".langTabs a",longclickLanguageTab);$(document).on("reloaded",".Inputfield",function(){setupLanguageTabs($(this))});$(document).on("AjaxUploadDone",".InputfieldHasFileList .InputfieldFileList",function(){setupLanguageTabs($(this))})});

View File

@@ -144,6 +144,9 @@ class SystemUpdater extends WireData implements Module, ConfigurableModule {
$this->configData['coreVersion'] = $toVersion;
$this->wire('modules')->saveModuleConfigData($this, $this->configData);
/** @var AdminTheme $adminTheme */
$adminTheme = $this->wire('adminTheme');
if($adminTheme) $adminTheme->coreUpdate($fromVersion, $toVersion);
}
/**