From b8a0f72d921ed10f4dc4bcc27f01c47ee642bc0e Mon Sep 17 00:00:00 2001 From: nobody Date: Sat, 3 Jul 2021 06:58:41 +0200 Subject: [PATCH] Added: jquery-ujs v1.2.3 (#553) --- THIRD_PARTY.txt | 1 + core/mappings.js | 1 + core/resources.js | 4 ++++ modules/internal/targets.js | 3 +++ pages/updates/updates.html | 1 + resources/jquery-ujs/1.2.3/rails.min.jsm | 1 + 6 files changed, 11 insertions(+) create mode 100644 resources/jquery-ujs/1.2.3/rails.min.jsm diff --git a/THIRD_PARTY.txt b/THIRD_PARTY.txt index 98e5661c..876a16d8 100644 --- a/THIRD_PARTY.txt +++ b/THIRD_PARTY.txt @@ -1182,6 +1182,7 @@ https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/themes/base/minified/jquery-ui.min.css +https://cdnjs.cloudflare.com/ajax/libs/jquery-ujs/1.2.3/rails.min.js https://cdnjs.cloudflare.com/ajax/libs/jquery-validation-unobtrusive/3.2.12/jquery.validate.unobtrusive.min.js https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js https://cdnjs.cloudflare.com/ajax/libs/jScrollPane/2.2.2/script/jquery.jscrollpane.min.js diff --git a/core/mappings.js b/core/mappings.js index 4781393d..af91a15c 100644 --- a/core/mappings.js +++ b/core/mappings.js @@ -322,6 +322,7 @@ mappings.cdn = { 'jquery.scrollbar/{version}/jquery.scrollbar.js': resources.jQueryScrollbar, 'jquery-tiny-pubsub/{version}/ba-tiny-pubsub.': resources.jQueryTinyPubsub, 'jquery-validation-unobtrusive/{version}/jquery.validate.unobtrusive.': resources.jQueryValidationUnobtrusive, + 'jquery-ujs/{version}/rails.': resources.jqueryUJS, 'jScrollPane/{version}/script/jquery.jscrollpane.': resources.jScrollPane, 'js-cookie/{version}/js.cookie.min.js': resources.jscookie, 'knockout/{version}/knockout': resources.knockout, diff --git a/core/resources.js b/core/resources.js index fdea8bf8..a179205f 100644 --- a/core/resources.js +++ b/core/resources.js @@ -519,6 +519,10 @@ var resources = { 'jQueryTooltipster': { 'path': 'resources/tooltipster/{version}/js/jquery.tooltipster.min.jsm' }, + // Unobtrusive scripting adapter for jQuery + 'jqueryUJS': { + 'path': 'resources/jquery-ujs/{version}/rails.min.jsm' + }, // jQuery UI 'jQueryUI': { 'path': 'resources/jqueryui/{version}/jquery-ui.min.jsm' diff --git a/modules/internal/targets.js b/modules/internal/targets.js index f433d54e..4a40d013 100644 --- a/modules/internal/targets.js +++ b/modules/internal/targets.js @@ -388,6 +388,8 @@ targets.setLastVersion = function (type, version) { return '2.31.3'; } else if (type.startsWith('/jquery-tiny-pubsub/0.')) { return '0.7.0'; + } else if (type.startsWith('/jquery-ujs/1.')) { + return '1.2.3'; } else if (type.startsWith('/jquery-modal/0.')) { return '0.9.2'; } else if (type.startsWith('/jasny-bootstrap/3.')) { @@ -649,6 +651,7 @@ targets.determineResourceName = function (filename) { }; const ListOfFiles = { + 'rails.min.jsm': 'jquery-ujs', 'algolia-min.css': 'InstantSearch.css', 'simplebar.min.css': 'simplebar (CSS)', 'simplebar.min.jsm': 'simplebar (JS)', diff --git a/pages/updates/updates.html b/pages/updates/updates.html index c1bae4e7..6415b49f 100644 --- a/pages/updates/updates.html +++ b/pages/updates/updates.html @@ -51,6 +51,7 @@
  • Mapping: algoliasearchLite -> algoliasearch (#552)
  • Added: instantsearch.css v7.4.5 (#552)
  • Mapping: instantsearch.js -> cdn.jsdelivr.net (#552)
  • +
  • Added: jquery-ujs v1.2.3 (#553)
  • diff --git a/resources/jquery-ujs/1.2.3/rails.min.jsm b/resources/jquery-ujs/1.2.3/rails.min.jsm new file mode 100644 index 00000000..2a828cef --- /dev/null +++ b/resources/jquery-ujs/1.2.3/rails.min.jsm @@ -0,0 +1 @@ +!function(){"use strict";function t(s,l){var u;s.rails!==l&&s.error("jquery-ujs has already been loaded!");var t=s(document);s.rails=u={linkClickSelector:"a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]",buttonClickSelector:"button[data-remote]:not([form]):not(form button), button[data-confirm]:not([form]):not(form button)",inputChangeSelector:"select[data-remote], input[data-remote], textarea[data-remote]",formSubmitSelector:"form:not([data-turbo=true])",formInputClickSelector:"form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])",disableSelector:"input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled",enableSelector:"input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled",requiredInputSelector:"input[name][required]:not([disabled]), textarea[name][required]:not([disabled])",fileInputSelector:"input[name][type=file]:not([disabled])",linkDisableSelector:"a[data-disable-with], a[data-disable]",buttonDisableSelector:"button[data-remote][data-disable-with], button[data-remote][data-disable]",csrfToken:function(){return s("meta[name=csrf-token]").attr("content")},csrfParam:function(){return s("meta[name=csrf-param]").attr("content")},CSRFProtection:function(t){var e=u.csrfToken();e&&t.setRequestHeader("X-CSRF-Token",e)},refreshCSRFTokens:function(){s('form input[name="'+u.csrfParam()+'"]').val(u.csrfToken())},fire:function(t,e,a){e=s.Event(e);return t.trigger(e,a),!1!==e.result},confirm:function(t){return confirm(t)},ajax:function(t){return s.ajax(t)},href:function(t){return t[0].href},isRemote:function(t){return t.data("remote")!==l&&!1!==t.data("remote")},handleRemote:function(n){if(u.fire(n,"ajax:before")){var t,e,a,o,r=n.data("with-credentials")||null,i=n.data("type")||s.ajaxSettings&&s.ajaxSettings.dataType;return n.is("form")?(t=n.data("ujs:submit-button-formmethod")||n.attr("method"),e=n.data("ujs:submit-button-formaction")||n.attr("action"),a=s(n[0]).serializeArray(),(o=n.data("ujs:submit-button"))&&(a.push(o),n.data("ujs:submit-button",null)),n.data("ujs:submit-button-formmethod",null),n.data("ujs:submit-button-formaction",null)):n.is(u.inputChangeSelector)?(t=n.data("method"),e=n.data("url"),a=n.serialize(),n.data("params")&&(a=a+"&"+n.data("params"))):n.is(u.buttonClickSelector)?(t=n.data("method")||"get",e=n.data("url"),a=n.serialize(),n.data("params")&&(a=a+"&"+n.data("params"))):(t=n.data("method"),e=u.href(n),a=n.data("params")||null),i={type:t||"GET",data:a,dataType:i,beforeSend:function(t,e){if(e.dataType===l&&t.setRequestHeader("accept","*/*;q=0.5, "+e.accepts.script),!u.fire(n,"ajax:beforeSend",[t,e]))return!1;n.trigger("ajax:send",t)},success:function(t,e,a){n.trigger("ajax:success",[t,e,a])},complete:function(t,e){n.trigger("ajax:complete",[t,e])},error:function(t,e,a){n.trigger("ajax:error",[t,e,a])},crossDomain:u.isCrossDomain(e)},r&&(i.xhrFields={withCredentials:r}),e&&(i.url=e),u.ajax(i)}return!1},isCrossDomain:function(t){var e=document.createElement("a");e.href=location.href;var a=document.createElement("a");try{return a.href=t,a.href=a.href,!((!a.protocol||":"===a.protocol)&&!a.host||e.protocol+"//"+e.host==a.protocol+"//"+a.host)}catch(t){return!0}},handleMethod:function(t){var e=u.href(t),a=t.data("method"),n=t.attr("target"),o=u.csrfToken(),r=u.csrfParam(),t=s('
    '),a='';r===l||o===l||u.isCrossDomain(e)||(a+=''),n&&t.attr("target",n),t.hide().append(a).appendTo("body"),t.submit()},formElements:function(t,e){return t.is("form")?s(t[0].elements).filter(e):t.find(e)},disableFormElements:function(t){u.formElements(t,u.disableSelector).each(function(){u.disableFormElement(s(this))})},disableFormElement:function(t){var e=t.is("button")?"html":"val",a=t.data("disable-with");a!==l&&(t.data("ujs:enable-with",t[e]()),t[e](a)),t.prop("disabled",!0),t.data("ujs:disabled",!0)},enableFormElements:function(t){u.formElements(t,u.enableSelector).each(function(){u.enableFormElement(s(this))})},enableFormElement:function(t){var e=t.is("button")?"html":"val";t.data("ujs:enable-with")!==l&&(t[e](t.data("ujs:enable-with")),t.removeData("ujs:enable-with")),t.prop("disabled",!1),t.removeData("ujs:disabled")},allowAction:function(t){var e,a=t.data("confirm"),n=!1;if(!a)return!0;if(u.fire(t,"confirm")){try{n=u.confirm(a)}catch(t){(console.error||console.log).call(console,t.stack||t)}e=u.fire(t,"confirm:complete",[n])}return n&&e},blankInputs:function(t,e,a){var n,o,r,i=s(),e=t.find(e||"input,textarea"),l={};return e.each(function(){(n=s(this)).is("input[type=radio]")?(r=n.attr("name"),l[r]||(0===t.find('input[type=radio]:checked[name="'+r+'"]').length&&(o=t.find('input[type=radio][name="'+r+'"]'),i=i.add(o)),l[r]=r)):(n.is("input[type=checkbox],input[type=radio]")?n.is(":checked"):!!n.val())===a&&(i=i.add(n))}),!!i.length&&i},nonBlankInputs:function(t,e){return u.blankInputs(t,e,!0)},stopEverything:function(t){return s(t.target).trigger("ujs:everythingStopped"),t.stopImmediatePropagation(),!1},disableElement:function(t){var e=t.data("disable-with");e!==l&&(t.data("ujs:enable-with",t.html()),t.html(e)),t.on("click.railsDisable",function(t){return u.stopEverything(t)}),t.data("ujs:disabled",!0)},enableElement:function(t){t.data("ujs:enable-with")!==l&&(t.html(t.data("ujs:enable-with")),t.removeData("ujs:enable-with")),t.off("click.railsDisable"),t.removeData("ujs:disabled")}},u.fire(t,"rails:attachBindings")&&(s.ajaxPrefilter(function(t,e,a){t.crossDomain||u.CSRFProtection(a)}),s(window).on("pageshow.rails",function(){s(s.rails.enableSelector).each(function(){var t=s(this);t.data("ujs:disabled")&&s.rails.enableFormElement(t)}),s(s.rails.linkDisableSelector).each(function(){var t=s(this);t.data("ujs:disabled")&&s.rails.enableElement(t)})}),t.on("ajax:complete",u.linkDisableSelector,function(){u.enableElement(s(this))}),t.on("ajax:complete",u.buttonDisableSelector,function(){u.enableFormElement(s(this))}),t.on("click.rails",u.linkClickSelector,function(t){var e=s(this),a=e.data("method"),n=e.data("params"),o=t.metaKey||t.ctrlKey;if(!u.allowAction(e))return u.stopEverything(t);if(!o&&e.is(u.linkDisableSelector)&&u.disableElement(e),u.isRemote(e)){if(o&&(!a||"GET"===a)&&!n)return!0;n=u.handleRemote(e);return!1===n?u.enableElement(e):n.fail(function(){u.enableElement(e)}),!1}return a?(u.handleMethod(e),!1):void 0}),t.on("click.rails",u.buttonClickSelector,function(t){var e=s(this);if(!u.allowAction(e)||!u.isRemote(e))return u.stopEverything(t);e.is(u.buttonDisableSelector)&&u.disableFormElement(e);t=u.handleRemote(e);return!1===t?u.enableFormElement(e):t.fail(function(){u.enableFormElement(e)}),!1}),t.on("change.rails",u.inputChangeSelector,function(t){var e=s(this);return u.allowAction(e)&&u.isRemote(e)?(u.handleRemote(e),!1):u.stopEverything(t)}),t.on("submit.rails",u.formSubmitSelector,function(t){var e,a=s(this),n=u.isRemote(a);if(!u.allowAction(a))return u.stopEverything(t);if(a.attr("novalidate")===l)if(a.data("ujs:formnovalidate-button")===l){if((e=u.blankInputs(a,u.requiredInputSelector,!1))&&u.fire(a,"ajax:aborted:required",[e]))return u.stopEverything(t)}else a.data("ujs:formnovalidate-button",l);if(n){if(n=u.nonBlankInputs(a,u.fileInputSelector)){setTimeout(function(){u.disableFormElements(a)},13);n=u.fire(a,"ajax:aborted:file",[n]);return n||setTimeout(function(){u.enableFormElements(a)},13),n}return u.handleRemote(a),!1}setTimeout(function(){u.disableFormElements(a)},13)}),t.on("click.rails",u.formInputClickSelector,function(t){var e=s(this);if(!u.allowAction(e))return u.stopEverything(t);var a=e.attr("name"),t=a?{name:a,value:e.val()}:null,a=e.closest("form");(a=0===a.length?s("#"+e.attr("form")):a).data("ujs:submit-button",t),a.data("ujs:formnovalidate-button",e.attr("formnovalidate")),a.data("ujs:submit-button-formaction",e.attr("formaction")),a.data("ujs:submit-button-formmethod",e.attr("formmethod"))}),t.on("ajax:send.rails",u.formSubmitSelector,function(t){this===t.target&&u.disableFormElements(s(this))}),t.on("ajax:complete.rails",u.formSubmitSelector,function(t){this===t.target&&u.enableFormElements(s(this))}),s(function(){u.refreshCSRFTokens()}))}window.jQuery?t(jQuery):"object"==typeof exports&&"object"==typeof module&&(module.exports=t)}(); \ No newline at end of file