Refresh packages: bootstrap + jquery + varie

This commit is contained in:
Samuele E. Locatelli
2019-05-30 08:49:31 +02:00
parent bba393ed32
commit 3f25ab89be
53 changed files with 2098 additions and 29020 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
/*! /*!
* Bootstrap Grid v4.2.1 (https://getbootstrap.com/) * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
html { html {
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+15 -3
View File
@@ -1,7 +1,7 @@
/*! /*!
* Bootstrap Reboot v4.2.1 (https://getbootstrap.com/) * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/ */
@@ -60,6 +60,7 @@ abbr[data-original-title] {
text-decoration: underline dotted; text-decoration: underline dotted;
cursor: help; cursor: help;
border-bottom: 0; border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none; text-decoration-skip-ink: none;
} }
@@ -225,6 +226,10 @@ select {
text-transform: none; text-transform: none;
} }
select {
word-wrap: normal;
}
button, button,
[type="button"], [type="button"],
[type="reset"], [type="reset"],
@@ -232,6 +237,13 @@ button,
-webkit-appearance: button; -webkit-appearance: button;
} }
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
cursor: pointer;
}
button::-moz-focus-inner, button::-moz-focus-inner,
[type="button"]::-moz-focus-inner, [type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner,
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -1,8 +1,8 @@
/*! /*!
* Bootstrap Reboot v4.2.1 (https://getbootstrap.com/) * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ /*# sourceMappingURL=bootstrap-reboot.min.css.map */
File diff suppressed because one or more lines are too long
+378 -227
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+11 -11
View File
@@ -228,11 +228,11 @@
<Reference Include="Antlr3.Runtime, Version=3.5.0.2, Culture=neutral, PublicKeyToken=eb42632606e9261f, processorArchitecture=MSIL"> <Reference Include="Antlr3.Runtime, Version=3.5.0.2, Culture=neutral, PublicKeyToken=eb42632606e9261f, processorArchitecture=MSIL">
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath> <HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
</Reference> </Reference>
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.2.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AspNet.ScriptManager.bootstrap, Version=4.3.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.2.1\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath> <HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.3.1\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
</Reference> </Reference>
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.3.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AspNet.ScriptManager.jQuery, Version=3.4.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.3.1\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath> <HintPath>..\packages\AspNet.ScriptManager.jQuery.3.4.1\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
</Reference> </Reference>
<Reference Include="AspNet.ScriptManager.jQuery.UI.Combined, Version=1.12.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="AspNet.ScriptManager.jQuery.UI.Combined, Version=1.12.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.UI.Combined.1.12.1\lib\net45\AspNet.ScriptManager.jQuery.UI.Combined.dll</HintPath> <HintPath>..\packages\AspNet.ScriptManager.jQuery.UI.Combined.1.12.1\lib\net45\AspNet.ScriptManager.jQuery.UI.Combined.dll</HintPath>
@@ -613,11 +613,11 @@
<Content Include="Scripts\bootstrap.js.map" /> <Content Include="Scripts\bootstrap.js.map" />
<Content Include="Scripts\bootstrap.bundle.min.js.map" /> <Content Include="Scripts\bootstrap.bundle.min.js.map" />
<Content Include="Scripts\bootstrap.bundle.js.map" /> <Content Include="Scripts\bootstrap.bundle.js.map" />
<None Include="Scripts\jquery-3.3.1.intellisense.js" /> <None Include="Scripts\jquery-3.4.1.intellisense.js" />
<Content Include="Scripts\jquery-3.3.1.js" /> <Content Include="Scripts\jquery-3.4.1.js" />
<Content Include="Scripts\jquery-3.3.1.min.js" /> <Content Include="Scripts\jquery-3.4.1.min.js" />
<Content Include="Scripts\jquery-3.3.1.slim.js" /> <Content Include="Scripts\jquery-3.4.1.slim.js" />
<Content Include="Scripts\jquery-3.3.1.slim.min.js" /> <Content Include="Scripts\jquery-3.4.1.slim.min.js" />
<Content Include="Scripts\jquery-ui-1.12.1.js" /> <Content Include="Scripts\jquery-ui-1.12.1.js" />
<Content Include="Scripts\jquery-ui-1.12.1.min.js" /> <Content Include="Scripts\jquery-ui-1.12.1.min.js" />
<Content Include="Scripts\jquery-ui-i18n.js" /> <Content Include="Scripts\jquery-ui-i18n.js" />
@@ -727,8 +727,8 @@
<Content Include="Web.config"> <Content Include="Web.config">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Content> </Content>
<Content Include="Scripts\jquery-3.3.1.slim.min.map" /> <Content Include="Scripts\jquery-3.4.1.slim.min.map" />
<Content Include="Scripts\jquery-3.3.1.min.map" /> <Content Include="Scripts\jquery-3.4.1.min.map" />
<None Include="Web.config.devTK"> <None Include="Web.config.devTK">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
+1 -1
View File
@@ -10,7 +10,7 @@
<Use64BitIISExpress /> <Use64BitIISExpress />
<IISExpressSSLPort /> <IISExpressSSLPort />
<UseGlobalApplicationHostFile /> <UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>TK_prod|Any CPU</LastActiveSolutionConfig> <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<VisualStudio> <VisualStudio>
+29 -30
View File
@@ -1,78 +1,77 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <generato automaticamente>
// This code was generated by a tool. // Codice generato da uno strumento.
// //
// Changes to this file may cause incorrect behavior and will be lost if // Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// the code is regenerated. // il codice viene rigenerato.
// </auto-generated> // </generato automaticamente>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace GMW namespace GMW {
{
public partial class POST_FinitiMult_IN { public partial class POST_FinitiMult_IN {
/// <summary> /// <summary>
/// mod_selLineaNtDt1 control. /// Controllo mod_selLineaNtDt1.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::GMW.WebUserControls.mod_selLineaNtDt mod_selLineaNtDt1; protected global::GMW.WebUserControls.mod_selLineaNtDt mod_selLineaNtDt1;
/// <summary> /// <summary>
/// pnlAll control. /// Controllo pnlAll.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlAll; protected global::System.Web.UI.WebControls.Panel pnlAll;
/// <summary> /// <summary>
/// pnlSAO control. /// Controllo pnlSAO.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Panel pnlSAO; protected global::System.Web.UI.WebControls.Panel pnlSAO;
/// <summary> /// <summary>
/// mod_storicoAzioniOperatore1 control. /// Controllo mod_storicoAzioniOperatore1.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::GMW.WebUserControls.mod_storicoAzioniOperatore mod_storicoAzioniOperatore1; protected global::GMW.WebUserControls.mod_storicoAzioniOperatore mod_storicoAzioniOperatore1;
/// <summary> /// <summary>
/// lblMessaggi control. /// Controllo lblMessaggi.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessaggi; protected global::System.Web.UI.WebControls.Label lblMessaggi;
/// <summary> /// <summary>
/// lblWarning control. /// Controllo lblWarning.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblWarning; protected global::System.Web.UI.WebControls.Label lblWarning;
/// <summary> /// <summary>
/// mod_PostFinMultIN control. /// Controllo mod_PostFinMultIN.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Campo generato automaticamente.
/// To modify move field declaration from designer file to code-behind file. /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks> /// </remarks>
protected global::GMW.WebUserControls.mod_PostFinMultIN mod_PostFinMultIN; protected global::GMW.WebUserControls.mod_PostFinMultIN mod_PostFinMultIN;
} }
+302 -107
View File
@@ -1,13 +1,13 @@
/*! /*!
* Bootstrap v4.2.1 (https://getbootstrap.com/) * Bootstrap v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
(factory((global.bootstrap = {}),global.jQuery)); (global = global || self, factory(global.bootstrap = {}, global.jQuery));
}(this, (function (exports,$) { 'use strict'; }(this, function (exports, $) { 'use strict';
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
@@ -69,7 +69,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.2.1): util.js * Bootstrap (v4.3.1): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@@ -145,7 +145,11 @@
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
} }
return selector && document.querySelector(selector) ? selector : null; try {
return document.querySelector(selector) ? selector : null;
} catch (err) {
return null;
}
}, },
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
if (!element) { if (!element) {
@@ -225,7 +229,7 @@
*/ */
var NAME = 'alert'; var NAME = 'alert';
var VERSION = '4.2.1'; var VERSION = '4.3.1';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -280,8 +284,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
$.removeData(this._element, DATA_KEY); $.removeData(this._element, DATA_KEY);
this._element = null; this._element = null;
}; // Private } // Private
;
_proto._getRootElement = function _getRootElement(element) { _proto._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element); var selector = Util.getSelectorFromElement(element);
@@ -323,8 +327,8 @@
_proto._destroyElement = function _destroyElement(element) { _proto._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove(); $(element).detach().trigger(Event.CLOSED).remove();
}; // Static } // Static
;
Alert._jQueryInterface = function _jQueryInterface(config) { Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -390,7 +394,7 @@
*/ */
var NAME$1 = 'button'; var NAME$1 = 'button';
var VERSION$1 = '4.2.1'; var VERSION$1 = '4.3.1';
var DATA_KEY$1 = 'bs.button'; var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1; var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api'; var DATA_API_KEY$1 = '.data-api';
@@ -476,8 +480,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
$.removeData(this._element, DATA_KEY$1); $.removeData(this._element, DATA_KEY$1);
this._element = null; this._element = null;
}; // Static } // Static
;
Button._jQueryInterface = function _jQueryInterface(config) { Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -544,7 +548,7 @@
*/ */
var NAME$2 = 'carousel'; var NAME$2 = 'carousel';
var VERSION$2 = '4.2.1'; var VERSION$2 = '4.3.1';
var DATA_KEY$2 = 'bs.carousel'; var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2; var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api'; var DATA_API_KEY$2 = '.data-api';
@@ -739,8 +743,8 @@
this._isSliding = null; this._isSliding = null;
this._activeElement = null; this._activeElement = null;
this._indicatorsElement = null; this._indicatorsElement = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config); config = _objectSpread({}, Default, config);
@@ -784,7 +788,9 @@
}); });
} }
this._addTouchEventListeners(); if (this._config.touch) {
this._addTouchEventListeners();
}
}; };
_proto._addTouchEventListeners = function _addTouchEventListeners() { _proto._addTouchEventListeners = function _addTouchEventListeners() {
@@ -1025,8 +1031,8 @@
if (isCycling) { if (isCycling) {
this.cycle(); this.cycle();
} }
}; // Static } // Static
;
Carousel._jQueryInterface = function _jQueryInterface(config) { Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -1053,7 +1059,7 @@
} }
data[action](); data[action]();
} else if (_config.interval) { } else if (_config.interval && _config.ride) {
data.pause(); data.pause();
data.cycle(); data.cycle();
} }
@@ -1142,7 +1148,7 @@
*/ */
var NAME$3 = 'collapse'; var NAME$3 = 'collapse';
var VERSION$3 = '4.2.1'; var VERSION$3 = '4.3.1';
var DATA_KEY$3 = 'bs.collapse'; var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3; var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api'; var DATA_API_KEY$3 = '.data-api';
@@ -1364,8 +1370,8 @@
this._element = null; this._element = null;
this._triggerArray = null; this._triggerArray = null;
this._isTransitioning = null; this._isTransitioning = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$1, config); config = _objectSpread({}, Default$1, config);
@@ -1409,8 +1415,8 @@
if (triggerArray.length) { if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
} }
}; // Static } // Static
;
Collapse._getTargetFromElement = function _getTargetFromElement(element) { Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element); var selector = Util.getSelectorFromElement(element);
@@ -1497,7 +1503,7 @@
/**! /**!
* @fileOverview Kickass library to create and place poppers near their reference elements. * @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.14.6 * @version 1.14.7
* @license * @license
* Copyright (c) 2016 Federico Zivolo and contributors * Copyright (c) 2016 Federico Zivolo and contributors
* *
@@ -2065,7 +2071,11 @@
if (getStyleComputedProperty(element, 'position') === 'fixed') { if (getStyleComputedProperty(element, 'position') === 'fixed') {
return true; return true;
} }
return isFixed(getParentNode(element)); var parentNode = getParentNode(element);
if (!parentNode) {
return false;
}
return isFixed(parentNode);
} }
/** /**
@@ -2721,18 +2731,23 @@
var _data$offsets = data.offsets, var _data$offsets = data.offsets,
popper = _data$offsets.popper, popper = _data$offsets.popper,
reference = _data$offsets.reference; reference = _data$offsets.reference;
var round = Math.round,
floor = Math.floor;
var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
var isVariation = data.placement.indexOf('-') !== -1;
var sameWidthOddness = reference.width % 2 === popper.width % 2;
var bothOddWidth = reference.width % 2 === 1 && popper.width % 2 === 1;
var noRound = function noRound(v) { var noRound = function noRound(v) {
return v; return v;
}; };
var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthOddness ? Math.round : Math.floor; var referenceWidth = round(reference.width);
var verticalToInteger = !shouldRound ? noRound : Math.round; var popperWidth = round(popper.width);
var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
var isVariation = data.placement.indexOf('-') !== -1;
var sameWidthParity = referenceWidth % 2 === popperWidth % 2;
var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
var verticalToInteger = !shouldRound ? noRound : round;
return { return {
left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left), left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
@@ -4072,7 +4087,7 @@
*/ */
var NAME$4 = 'dropdown'; var NAME$4 = 'dropdown';
var VERSION$4 = '4.2.1'; var VERSION$4 = '4.3.1';
var DATA_KEY$4 = 'bs.dropdown'; var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4; var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api'; var DATA_API_KEY$4 = '.data-api';
@@ -4301,8 +4316,8 @@
if (this._popper !== null) { if (this._popper !== null) {
this._popper.scheduleUpdate(); this._popper.scheduleUpdate();
} }
}; // Private } // Private
;
_proto._addEventListeners = function _addEventListeners() { _proto._addEventListeners = function _addEventListeners() {
var _this = this; var _this = this;
@@ -4358,24 +4373,28 @@
return $(this._element).closest('.navbar').length > 0; return $(this._element).closest('.navbar').length > 0;
}; };
_proto._getPopperConfig = function _getPopperConfig() { _proto._getOffset = function _getOffset() {
var _this2 = this; var _this2 = this;
var offsetConf = {}; var offset = {};
if (typeof this._config.offset === 'function') { if (typeof this._config.offset === 'function') {
offsetConf.fn = function (data) { offset.fn = function (data) {
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {}); data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
return data; return data;
}; };
} else { } else {
offsetConf.offset = this._config.offset; offset.offset = this._config.offset;
} }
return offset;
};
_proto._getPopperConfig = function _getPopperConfig() {
var popperConfig = { var popperConfig = {
placement: this._getPlacement(), placement: this._getPlacement(),
modifiers: { modifiers: {
offset: offsetConf, offset: this._getOffset(),
flip: { flip: {
enabled: this._config.flip enabled: this._config.flip
}, },
@@ -4393,8 +4412,8 @@
} }
return popperConfig; return popperConfig;
}; // Static } // Static
;
Dropdown._jQueryInterface = function _jQueryInterface(config) { Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -4478,8 +4497,8 @@
} }
return parent || element.parentNode; return parent || element.parentNode;
}; // eslint-disable-next-line complexity } // eslint-disable-next-line complexity
;
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
// If not input/textarea: // If not input/textarea:
@@ -4594,7 +4613,7 @@
*/ */
var NAME$5 = 'modal'; var NAME$5 = 'modal';
var VERSION$5 = '4.2.1'; var VERSION$5 = '4.3.1';
var DATA_KEY$5 = 'bs.modal'; var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5; var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api'; var DATA_API_KEY$5 = '.data-api';
@@ -4627,6 +4646,7 @@
CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5 CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
}; };
var ClassName$5 = { var ClassName$5 = {
SCROLLABLE: 'modal-dialog-scrollable',
SCROLLBAR_MEASURER: 'modal-scrollbar-measure', SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop', BACKDROP: 'modal-backdrop',
OPEN: 'modal-open', OPEN: 'modal-open',
@@ -4635,6 +4655,7 @@
}; };
var Selector$5 = { var Selector$5 = {
DIALOG: '.modal-dialog', DIALOG: '.modal-dialog',
MODAL_BODY: '.modal-body',
DATA_TOGGLE: '[data-toggle="modal"]', DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]', DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
@@ -4787,8 +4808,8 @@
_proto.handleUpdate = function handleUpdate() { _proto.handleUpdate = function handleUpdate() {
this._adjustDialog(); this._adjustDialog();
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$3, config); config = _objectSpread({}, Default$3, config);
@@ -4812,7 +4833,11 @@
this._element.setAttribute('aria-modal', true); this._element.setAttribute('aria-modal', true);
this._element.scrollTop = 0; if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
} else {
this._element.scrollTop = 0;
}
if (transition) { if (transition) {
Util.reflow(this._element); Util.reflow(this._element);
@@ -4982,11 +5007,11 @@
} else if (callback) { } else if (callback) {
callback(); callback();
} }
}; // ---------------------------------------------------------------------- } // ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals // the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js // todo (fat): these should probably be refactored out of modal.js
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
;
_proto._adjustDialog = function _adjustDialog() { _proto._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
@@ -5071,8 +5096,8 @@
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv); document.body.removeChild(scrollDiv);
return scrollbarWidth; return scrollbarWidth;
}; // Static } // Static
;
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () { return this.each(function () {
@@ -5163,6 +5188,127 @@
return Modal._jQueryInterface; return Modal._jQueryInterface;
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.3.1): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
var DefaultWhitelist = {
// Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
a: ['target', 'href', 'title', 'rel'],
area: [],
b: [],
br: [],
col: [],
code: [],
div: [],
em: [],
hr: [],
h1: [],
h2: [],
h3: [],
h4: [],
h5: [],
h6: [],
i: [],
img: ['src', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
pre: [],
s: [],
small: [],
span: [],
sub: [],
sup: [],
strong: [],
u: [],
ul: []
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
};
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
function allowedAttribute(attr, allowedAttributeList) {
var attrName = attr.nodeName.toLowerCase();
if (allowedAttributeList.indexOf(attrName) !== -1) {
if (uriAttrs.indexOf(attrName) !== -1) {
return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
}
return true;
}
var regExp = allowedAttributeList.filter(function (attrRegex) {
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
for (var i = 0, l = regExp.length; i < l; i++) {
if (attrName.match(regExp[i])) {
return true;
}
}
return false;
}
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
if (unsafeHtml.length === 0) {
return unsafeHtml;
}
if (sanitizeFn && typeof sanitizeFn === 'function') {
return sanitizeFn(unsafeHtml);
}
var domParser = new window.DOMParser();
var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
var whitelistKeys = Object.keys(whiteList);
var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
var _loop = function _loop(i, len) {
var el = elements[i];
var elName = el.nodeName.toLowerCase();
if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
el.parentNode.removeChild(el);
return "continue";
}
var attributeList = [].slice.call(el.attributes);
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
attributeList.forEach(function (attr) {
if (!allowedAttribute(attr, whitelistedAttributes)) {
el.removeAttribute(attr.nodeName);
}
});
};
for (var i = 0, len = elements.length; i < len; i++) {
var _ret = _loop(i, len);
if (_ret === "continue") continue;
}
return createdDocument.body.innerHTML;
}
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
@@ -5170,12 +5316,13 @@
*/ */
var NAME$6 = 'tooltip'; var NAME$6 = 'tooltip';
var VERSION$6 = '4.2.1'; var VERSION$6 = '4.3.1';
var DATA_KEY$6 = 'bs.tooltip'; var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6; var EVENT_KEY$6 = "." + DATA_KEY$6;
var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6]; var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
var CLASS_PREFIX = 'bs-tooltip'; var CLASS_PREFIX = 'bs-tooltip';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
var DefaultType$4 = { var DefaultType$4 = {
animation: 'boolean', animation: 'boolean',
template: 'string', template: 'string',
@@ -5185,10 +5332,13 @@
html: 'boolean', html: 'boolean',
selector: '(string|boolean)', selector: '(string|boolean)',
placement: '(string|function)', placement: '(string|function)',
offset: '(number|string)', offset: '(number|string|function)',
container: '(string|element|boolean)', container: '(string|element|boolean)',
fallbackPlacement: '(string|array)', fallbackPlacement: '(string|array)',
boundary: '(string|element)' boundary: '(string|element)',
sanitize: 'boolean',
sanitizeFn: '(null|function)',
whiteList: 'object'
}; };
var AttachmentMap$1 = { var AttachmentMap$1 = {
AUTO: 'auto', AUTO: 'auto',
@@ -5209,7 +5359,10 @@
offset: 0, offset: 0,
container: false, container: false,
fallbackPlacement: 'flip', fallbackPlacement: 'flip',
boundary: 'scrollParent' boundary: 'scrollParent',
sanitize: true,
sanitizeFn: null,
whiteList: DefaultWhitelist
}; };
var HoverState = { var HoverState = {
SHOW: 'show', SHOW: 'show',
@@ -5394,9 +5547,7 @@
this._popper = new Popper(this.element, tip, { this._popper = new Popper(this.element, tip, {
placement: attachment, placement: attachment,
modifiers: { modifiers: {
offset: { offset: this._getOffset(),
offset: this.config.offset
},
flip: { flip: {
behavior: this.config.fallbackPlacement behavior: this.config.fallbackPlacement
}, },
@@ -5505,8 +5656,8 @@
if (this._popper !== null) { if (this._popper !== null) {
this._popper.scheduleUpdate(); this._popper.scheduleUpdate();
} }
}; // Protected } // Protected
;
_proto.isWithContent = function isWithContent() { _proto.isWithContent = function isWithContent() {
return Boolean(this.getTitle()); return Boolean(this.getTitle());
@@ -5528,19 +5679,27 @@
}; };
_proto.setElementContent = function setElementContent($element, content) { _proto.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if (typeof content === 'object' && (content.nodeType || content.jquery)) { if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// Content is a DOM node or a jQuery // Content is a DOM node or a jQuery
if (html) { if (this.config.html) {
if (!$(content).parent().is($element)) { if (!$(content).parent().is($element)) {
$element.empty().append(content); $element.empty().append(content);
} }
} else { } else {
$element.text($(content).text()); $element.text($(content).text());
} }
return;
}
if (this.config.html) {
if (this.config.sanitize) {
content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
}
$element.html(content);
} else { } else {
$element[html ? 'html' : 'text'](content); $element.text(content);
} }
}; };
@@ -5552,8 +5711,25 @@
} }
return title; return title;
}; // Private } // Private
;
_proto._getOffset = function _getOffset() {
var _this3 = this;
var offset = {};
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
return data;
};
} else {
offset.offset = this.config.offset;
}
return offset;
};
_proto._getContainer = function _getContainer() { _proto._getContainer = function _getContainer() {
if (this.config.container === false) { if (this.config.container === false) {
@@ -5572,27 +5748,27 @@
}; };
_proto._setListeners = function _setListeners() { _proto._setListeners = function _setListeners() {
var _this3 = this; var _this4 = this;
var triggers = this.config.trigger.split(' '); var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) { triggers.forEach(function (trigger) {
if (trigger === 'click') { if (trigger === 'click') {
$(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
return _this3.toggle(event); return _this4.toggle(event);
}); });
} else if (trigger !== Trigger.MANUAL) { } else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
$(_this3.element).on(eventIn, _this3.config.selector, function (event) { $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
return _this3._enter(event); return _this4._enter(event);
}).on(eventOut, _this3.config.selector, function (event) { }).on(eventOut, _this4.config.selector, function (event) {
return _this3._leave(event); return _this4._leave(event);
}); });
} }
}); });
$(this.element).closest('.modal').on('hide.bs.modal', function () { $(this.element).closest('.modal').on('hide.bs.modal', function () {
if (_this3.element) { if (_this4.element) {
_this3.hide(); _this4.hide();
} }
}); });
@@ -5691,7 +5867,13 @@
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, this.constructor.Default, $(this.element).data(), typeof config === 'object' && config ? config : {}); var dataAttributes = $(this.element).data();
Object.keys(dataAttributes).forEach(function (dataAttr) {
if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
delete dataAttributes[dataAttr];
}
});
config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') { if (typeof config.delay === 'number') {
config.delay = { config.delay = {
@@ -5709,6 +5891,11 @@
} }
Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
if (config.sanitize) {
config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
}
return config; return config;
}; };
@@ -5757,8 +5944,8 @@
this.hide(); this.hide();
this.show(); this.show();
this.config.animation = initConfigAnimation; this.config.animation = initConfigAnimation;
}; // Static } // Static
;
Tooltip._jQueryInterface = function _jQueryInterface(config) { Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -5846,7 +6033,7 @@
*/ */
var NAME$7 = 'popover'; var NAME$7 = 'popover';
var VERSION$7 = '4.2.1'; var VERSION$7 = '4.3.1';
var DATA_KEY$7 = 'bs.popover'; var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7; var EVENT_KEY$7 = "." + DATA_KEY$7;
var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7]; var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
@@ -5929,8 +6116,8 @@
this.setElementContent($tip.find(Selector$7.CONTENT), content); this.setElementContent($tip.find(Selector$7.CONTENT), content);
$tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW); $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
}; // Private } // Private
;
_proto._getContent = function _getContent() { _proto._getContent = function _getContent() {
return this.element.getAttribute('data-content') || this.config.content; return this.element.getAttribute('data-content') || this.config.content;
@@ -5943,8 +6130,8 @@
if (tabClass !== null && tabClass.length > 0) { if (tabClass !== null && tabClass.length > 0) {
$tip.removeClass(tabClass.join('')); $tip.removeClass(tabClass.join(''));
} }
}; // Static } // Static
;
Popover._jQueryInterface = function _jQueryInterface(config) { Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -6033,7 +6220,7 @@
*/ */
var NAME$8 = 'scrollspy'; var NAME$8 = 'scrollspy';
var VERSION$8 = '4.2.1'; var VERSION$8 = '4.3.1';
var DATA_KEY$8 = 'bs.scrollspy'; var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8; var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api'; var DATA_API_KEY$6 = '.data-api';
@@ -6156,8 +6343,8 @@
this._targets = null; this._targets = null;
this._activeTarget = null; this._activeTarget = null;
this._scrollHeight = null; this._scrollHeight = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {}); config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
@@ -6264,8 +6451,8 @@
}).forEach(function (node) { }).forEach(function (node) {
return node.classList.remove(ClassName$8.ACTIVE); return node.classList.remove(ClassName$8.ACTIVE);
}); });
}; // Static } // Static
;
ScrollSpy._jQueryInterface = function _jQueryInterface(config) { ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -6340,7 +6527,7 @@
*/ */
var NAME$9 = 'tab'; var NAME$9 = 'tab';
var VERSION$9 = '4.2.1'; var VERSION$9 = '4.3.1';
var DATA_KEY$9 = 'bs.tab'; var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9; var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api'; var DATA_API_KEY$7 = '.data-api';
@@ -6448,8 +6635,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
$.removeData(this._element, DATA_KEY$9); $.removeData(this._element, DATA_KEY$9);
this._element = null; this._element = null;
}; // Private } // Private
;
_proto._activate = function _activate(element, container, callback) { _proto._activate = function _activate(element, container, callback) {
var _this2 = this; var _this2 = this;
@@ -6491,7 +6678,10 @@
} }
Util.reflow(element); Util.reflow(element);
$(element).addClass(ClassName$9.SHOW);
if (element.classList.contains(ClassName$9.FADE)) {
element.classList.add(ClassName$9.SHOW);
}
if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) { if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0]; var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
@@ -6507,8 +6697,8 @@
if (callback) { if (callback) {
callback(); callback();
} }
}; // Static } // Static
;
Tab._jQueryInterface = function _jQueryInterface(config) { Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -6572,7 +6762,7 @@
*/ */
var NAME$a = 'toast'; var NAME$a = 'toast';
var VERSION$a = '4.2.1'; var VERSION$a = '4.3.1';
var DATA_KEY$a = 'bs.toast'; var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a; var EVENT_KEY$a = "." + DATA_KEY$a;
var JQUERY_NO_CONFLICT$a = $.fn[NAME$a]; var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
@@ -6687,8 +6877,8 @@
$.removeData(this._element, DATA_KEY$a); $.removeData(this._element, DATA_KEY$a);
this._element = null; this._element = null;
this._config = null; this._config = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {}); config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
@@ -6721,8 +6911,8 @@
} else { } else {
complete(); complete();
} }
}; // Static } // Static
;
Toast._jQueryInterface = function _jQueryInterface(config) { Toast._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -6756,6 +6946,11 @@
get: function get() { get: function get() {
return DefaultType$7; return DefaultType$7;
} }
}, {
key: "Default",
get: function get() {
return Default$7;
}
}]); }]);
return Toast; return Toast;
@@ -6777,7 +6972,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.2.1): index.js * Bootstrap (v4.3.1): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@@ -6814,5 +7009,5 @@
Object.defineProperty(exports, '__esModule', { value: true }); Object.defineProperty(exports, '__esModule', { value: true });
}))); }));
//# sourceMappingURL=bootstrap.bundle.js.map //# sourceMappingURL=bootstrap.bundle.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+287 -101
View File
@@ -1,16 +1,16 @@
/*! /*!
* Bootstrap v4.2.1 (https://getbootstrap.com/) * Bootstrap v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/ */
(function (global, factory) { (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('popper.js'), require('jquery')) : typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
typeof define === 'function' && define.amd ? define(['exports', 'popper.js', 'jquery'], factory) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
(factory((global.bootstrap = {}),global.Popper,global.jQuery)); (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
}(this, (function (exports,Popper,$) { 'use strict'; }(this, function (exports, $, Popper) { 'use strict';
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
$ = $ && $.hasOwnProperty('default') ? $['default'] : $; $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
function _defineProperties(target, props) { function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) { for (var i = 0; i < props.length; i++) {
@@ -70,7 +70,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.2.1): util.js * Bootstrap (v4.3.1): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@@ -146,7 +146,11 @@
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
} }
return selector && document.querySelector(selector) ? selector : null; try {
return document.querySelector(selector) ? selector : null;
} catch (err) {
return null;
}
}, },
getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
if (!element) { if (!element) {
@@ -226,7 +230,7 @@
*/ */
var NAME = 'alert'; var NAME = 'alert';
var VERSION = '4.2.1'; var VERSION = '4.3.1';
var DATA_KEY = 'bs.alert'; var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY; var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
@@ -281,8 +285,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
$.removeData(this._element, DATA_KEY); $.removeData(this._element, DATA_KEY);
this._element = null; this._element = null;
}; // Private } // Private
;
_proto._getRootElement = function _getRootElement(element) { _proto._getRootElement = function _getRootElement(element) {
var selector = Util.getSelectorFromElement(element); var selector = Util.getSelectorFromElement(element);
@@ -324,8 +328,8 @@
_proto._destroyElement = function _destroyElement(element) { _proto._destroyElement = function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove(); $(element).detach().trigger(Event.CLOSED).remove();
}; // Static } // Static
;
Alert._jQueryInterface = function _jQueryInterface(config) { Alert._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -391,7 +395,7 @@
*/ */
var NAME$1 = 'button'; var NAME$1 = 'button';
var VERSION$1 = '4.2.1'; var VERSION$1 = '4.3.1';
var DATA_KEY$1 = 'bs.button'; var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1; var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api'; var DATA_API_KEY$1 = '.data-api';
@@ -477,8 +481,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
$.removeData(this._element, DATA_KEY$1); $.removeData(this._element, DATA_KEY$1);
this._element = null; this._element = null;
}; // Static } // Static
;
Button._jQueryInterface = function _jQueryInterface(config) { Button._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -545,7 +549,7 @@
*/ */
var NAME$2 = 'carousel'; var NAME$2 = 'carousel';
var VERSION$2 = '4.2.1'; var VERSION$2 = '4.3.1';
var DATA_KEY$2 = 'bs.carousel'; var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2; var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api'; var DATA_API_KEY$2 = '.data-api';
@@ -740,8 +744,8 @@
this._isSliding = null; this._isSliding = null;
this._activeElement = null; this._activeElement = null;
this._indicatorsElement = null; this._indicatorsElement = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default, config); config = _objectSpread({}, Default, config);
@@ -785,7 +789,9 @@
}); });
} }
this._addTouchEventListeners(); if (this._config.touch) {
this._addTouchEventListeners();
}
}; };
_proto._addTouchEventListeners = function _addTouchEventListeners() { _proto._addTouchEventListeners = function _addTouchEventListeners() {
@@ -1026,8 +1032,8 @@
if (isCycling) { if (isCycling) {
this.cycle(); this.cycle();
} }
}; // Static } // Static
;
Carousel._jQueryInterface = function _jQueryInterface(config) { Carousel._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -1054,7 +1060,7 @@
} }
data[action](); data[action]();
} else if (_config.interval) { } else if (_config.interval && _config.ride) {
data.pause(); data.pause();
data.cycle(); data.cycle();
} }
@@ -1143,7 +1149,7 @@
*/ */
var NAME$3 = 'collapse'; var NAME$3 = 'collapse';
var VERSION$3 = '4.2.1'; var VERSION$3 = '4.3.1';
var DATA_KEY$3 = 'bs.collapse'; var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3; var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api'; var DATA_API_KEY$3 = '.data-api';
@@ -1365,8 +1371,8 @@
this._element = null; this._element = null;
this._triggerArray = null; this._triggerArray = null;
this._isTransitioning = null; this._isTransitioning = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$1, config); config = _objectSpread({}, Default$1, config);
@@ -1410,8 +1416,8 @@
if (triggerArray.length) { if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
} }
}; // Static } // Static
;
Collapse._getTargetFromElement = function _getTargetFromElement(element) { Collapse._getTargetFromElement = function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element); var selector = Util.getSelectorFromElement(element);
@@ -1503,7 +1509,7 @@
*/ */
var NAME$4 = 'dropdown'; var NAME$4 = 'dropdown';
var VERSION$4 = '4.2.1'; var VERSION$4 = '4.3.1';
var DATA_KEY$4 = 'bs.dropdown'; var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4; var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api'; var DATA_API_KEY$4 = '.data-api';
@@ -1732,8 +1738,8 @@
if (this._popper !== null) { if (this._popper !== null) {
this._popper.scheduleUpdate(); this._popper.scheduleUpdate();
} }
}; // Private } // Private
;
_proto._addEventListeners = function _addEventListeners() { _proto._addEventListeners = function _addEventListeners() {
var _this = this; var _this = this;
@@ -1789,24 +1795,28 @@
return $(this._element).closest('.navbar').length > 0; return $(this._element).closest('.navbar').length > 0;
}; };
_proto._getPopperConfig = function _getPopperConfig() { _proto._getOffset = function _getOffset() {
var _this2 = this; var _this2 = this;
var offsetConf = {}; var offset = {};
if (typeof this._config.offset === 'function') { if (typeof this._config.offset === 'function') {
offsetConf.fn = function (data) { offset.fn = function (data) {
data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {}); data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
return data; return data;
}; };
} else { } else {
offsetConf.offset = this._config.offset; offset.offset = this._config.offset;
} }
return offset;
};
_proto._getPopperConfig = function _getPopperConfig() {
var popperConfig = { var popperConfig = {
placement: this._getPlacement(), placement: this._getPlacement(),
modifiers: { modifiers: {
offset: offsetConf, offset: this._getOffset(),
flip: { flip: {
enabled: this._config.flip enabled: this._config.flip
}, },
@@ -1824,8 +1834,8 @@
} }
return popperConfig; return popperConfig;
}; // Static } // Static
;
Dropdown._jQueryInterface = function _jQueryInterface(config) { Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -1909,8 +1919,8 @@
} }
return parent || element.parentNode; return parent || element.parentNode;
}; // eslint-disable-next-line complexity } // eslint-disable-next-line complexity
;
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
// If not input/textarea: // If not input/textarea:
@@ -2025,7 +2035,7 @@
*/ */
var NAME$5 = 'modal'; var NAME$5 = 'modal';
var VERSION$5 = '4.2.1'; var VERSION$5 = '4.3.1';
var DATA_KEY$5 = 'bs.modal'; var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5; var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api'; var DATA_API_KEY$5 = '.data-api';
@@ -2058,6 +2068,7 @@
CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5 CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
}; };
var ClassName$5 = { var ClassName$5 = {
SCROLLABLE: 'modal-dialog-scrollable',
SCROLLBAR_MEASURER: 'modal-scrollbar-measure', SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
BACKDROP: 'modal-backdrop', BACKDROP: 'modal-backdrop',
OPEN: 'modal-open', OPEN: 'modal-open',
@@ -2066,6 +2077,7 @@
}; };
var Selector$5 = { var Selector$5 = {
DIALOG: '.modal-dialog', DIALOG: '.modal-dialog',
MODAL_BODY: '.modal-body',
DATA_TOGGLE: '[data-toggle="modal"]', DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]', DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
@@ -2218,8 +2230,8 @@
_proto.handleUpdate = function handleUpdate() { _proto.handleUpdate = function handleUpdate() {
this._adjustDialog(); this._adjustDialog();
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$3, config); config = _objectSpread({}, Default$3, config);
@@ -2243,7 +2255,11 @@
this._element.setAttribute('aria-modal', true); this._element.setAttribute('aria-modal', true);
this._element.scrollTop = 0; if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
} else {
this._element.scrollTop = 0;
}
if (transition) { if (transition) {
Util.reflow(this._element); Util.reflow(this._element);
@@ -2413,11 +2429,11 @@
} else if (callback) { } else if (callback) {
callback(); callback();
} }
}; // ---------------------------------------------------------------------- } // ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals // the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js // todo (fat): these should probably be refactored out of modal.js
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
;
_proto._adjustDialog = function _adjustDialog() { _proto._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
@@ -2502,8 +2518,8 @@
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv); document.body.removeChild(scrollDiv);
return scrollbarWidth; return scrollbarWidth;
}; // Static } // Static
;
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
return this.each(function () { return this.each(function () {
@@ -2594,6 +2610,127 @@
return Modal._jQueryInterface; return Modal._jQueryInterface;
}; };
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.3.1): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
var DefaultWhitelist = {
// Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
a: ['target', 'href', 'title', 'rel'],
area: [],
b: [],
br: [],
col: [],
code: [],
div: [],
em: [],
hr: [],
h1: [],
h2: [],
h3: [],
h4: [],
h5: [],
h6: [],
i: [],
img: ['src', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
pre: [],
s: [],
small: [],
span: [],
sub: [],
sup: [],
strong: [],
u: [],
ul: []
/**
* A pattern that recognizes a commonly useful subset of URLs that are safe.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
};
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
/**
* A pattern that matches safe data URLs. Only matches image, video and audio types.
*
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
*/
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
function allowedAttribute(attr, allowedAttributeList) {
var attrName = attr.nodeName.toLowerCase();
if (allowedAttributeList.indexOf(attrName) !== -1) {
if (uriAttrs.indexOf(attrName) !== -1) {
return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
}
return true;
}
var regExp = allowedAttributeList.filter(function (attrRegex) {
return attrRegex instanceof RegExp;
}); // Check if a regular expression validates the attribute.
for (var i = 0, l = regExp.length; i < l; i++) {
if (attrName.match(regExp[i])) {
return true;
}
}
return false;
}
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
if (unsafeHtml.length === 0) {
return unsafeHtml;
}
if (sanitizeFn && typeof sanitizeFn === 'function') {
return sanitizeFn(unsafeHtml);
}
var domParser = new window.DOMParser();
var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
var whitelistKeys = Object.keys(whiteList);
var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
var _loop = function _loop(i, len) {
var el = elements[i];
var elName = el.nodeName.toLowerCase();
if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
el.parentNode.removeChild(el);
return "continue";
}
var attributeList = [].slice.call(el.attributes);
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
attributeList.forEach(function (attr) {
if (!allowedAttribute(attr, whitelistedAttributes)) {
el.removeAttribute(attr.nodeName);
}
});
};
for (var i = 0, len = elements.length; i < len; i++) {
var _ret = _loop(i, len);
if (_ret === "continue") continue;
}
return createdDocument.body.innerHTML;
}
/** /**
* ------------------------------------------------------------------------ * ------------------------------------------------------------------------
* Constants * Constants
@@ -2601,12 +2738,13 @@
*/ */
var NAME$6 = 'tooltip'; var NAME$6 = 'tooltip';
var VERSION$6 = '4.2.1'; var VERSION$6 = '4.3.1';
var DATA_KEY$6 = 'bs.tooltip'; var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6; var EVENT_KEY$6 = "." + DATA_KEY$6;
var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6]; var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
var CLASS_PREFIX = 'bs-tooltip'; var CLASS_PREFIX = 'bs-tooltip';
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
var DefaultType$4 = { var DefaultType$4 = {
animation: 'boolean', animation: 'boolean',
template: 'string', template: 'string',
@@ -2616,10 +2754,13 @@
html: 'boolean', html: 'boolean',
selector: '(string|boolean)', selector: '(string|boolean)',
placement: '(string|function)', placement: '(string|function)',
offset: '(number|string)', offset: '(number|string|function)',
container: '(string|element|boolean)', container: '(string|element|boolean)',
fallbackPlacement: '(string|array)', fallbackPlacement: '(string|array)',
boundary: '(string|element)' boundary: '(string|element)',
sanitize: 'boolean',
sanitizeFn: '(null|function)',
whiteList: 'object'
}; };
var AttachmentMap$1 = { var AttachmentMap$1 = {
AUTO: 'auto', AUTO: 'auto',
@@ -2640,7 +2781,10 @@
offset: 0, offset: 0,
container: false, container: false,
fallbackPlacement: 'flip', fallbackPlacement: 'flip',
boundary: 'scrollParent' boundary: 'scrollParent',
sanitize: true,
sanitizeFn: null,
whiteList: DefaultWhitelist
}; };
var HoverState = { var HoverState = {
SHOW: 'show', SHOW: 'show',
@@ -2825,9 +2969,7 @@
this._popper = new Popper(this.element, tip, { this._popper = new Popper(this.element, tip, {
placement: attachment, placement: attachment,
modifiers: { modifiers: {
offset: { offset: this._getOffset(),
offset: this.config.offset
},
flip: { flip: {
behavior: this.config.fallbackPlacement behavior: this.config.fallbackPlacement
}, },
@@ -2936,8 +3078,8 @@
if (this._popper !== null) { if (this._popper !== null) {
this._popper.scheduleUpdate(); this._popper.scheduleUpdate();
} }
}; // Protected } // Protected
;
_proto.isWithContent = function isWithContent() { _proto.isWithContent = function isWithContent() {
return Boolean(this.getTitle()); return Boolean(this.getTitle());
@@ -2959,19 +3101,27 @@
}; };
_proto.setElementContent = function setElementContent($element, content) { _proto.setElementContent = function setElementContent($element, content) {
var html = this.config.html;
if (typeof content === 'object' && (content.nodeType || content.jquery)) { if (typeof content === 'object' && (content.nodeType || content.jquery)) {
// Content is a DOM node or a jQuery // Content is a DOM node or a jQuery
if (html) { if (this.config.html) {
if (!$(content).parent().is($element)) { if (!$(content).parent().is($element)) {
$element.empty().append(content); $element.empty().append(content);
} }
} else { } else {
$element.text($(content).text()); $element.text($(content).text());
} }
return;
}
if (this.config.html) {
if (this.config.sanitize) {
content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
}
$element.html(content);
} else { } else {
$element[html ? 'html' : 'text'](content); $element.text(content);
} }
}; };
@@ -2983,8 +3133,25 @@
} }
return title; return title;
}; // Private } // Private
;
_proto._getOffset = function _getOffset() {
var _this3 = this;
var offset = {};
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
return data;
};
} else {
offset.offset = this.config.offset;
}
return offset;
};
_proto._getContainer = function _getContainer() { _proto._getContainer = function _getContainer() {
if (this.config.container === false) { if (this.config.container === false) {
@@ -3003,27 +3170,27 @@
}; };
_proto._setListeners = function _setListeners() { _proto._setListeners = function _setListeners() {
var _this3 = this; var _this4 = this;
var triggers = this.config.trigger.split(' '); var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) { triggers.forEach(function (trigger) {
if (trigger === 'click') { if (trigger === 'click') {
$(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
return _this3.toggle(event); return _this4.toggle(event);
}); });
} else if (trigger !== Trigger.MANUAL) { } else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
$(_this3.element).on(eventIn, _this3.config.selector, function (event) { $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
return _this3._enter(event); return _this4._enter(event);
}).on(eventOut, _this3.config.selector, function (event) { }).on(eventOut, _this4.config.selector, function (event) {
return _this3._leave(event); return _this4._leave(event);
}); });
} }
}); });
$(this.element).closest('.modal').on('hide.bs.modal', function () { $(this.element).closest('.modal').on('hide.bs.modal', function () {
if (_this3.element) { if (_this4.element) {
_this3.hide(); _this4.hide();
} }
}); });
@@ -3122,7 +3289,13 @@
}; };
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, this.constructor.Default, $(this.element).data(), typeof config === 'object' && config ? config : {}); var dataAttributes = $(this.element).data();
Object.keys(dataAttributes).forEach(function (dataAttr) {
if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
delete dataAttributes[dataAttr];
}
});
config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') { if (typeof config.delay === 'number') {
config.delay = { config.delay = {
@@ -3140,6 +3313,11 @@
} }
Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
if (config.sanitize) {
config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
}
return config; return config;
}; };
@@ -3188,8 +3366,8 @@
this.hide(); this.hide();
this.show(); this.show();
this.config.animation = initConfigAnimation; this.config.animation = initConfigAnimation;
}; // Static } // Static
;
Tooltip._jQueryInterface = function _jQueryInterface(config) { Tooltip._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -3277,7 +3455,7 @@
*/ */
var NAME$7 = 'popover'; var NAME$7 = 'popover';
var VERSION$7 = '4.2.1'; var VERSION$7 = '4.3.1';
var DATA_KEY$7 = 'bs.popover'; var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7; var EVENT_KEY$7 = "." + DATA_KEY$7;
var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7]; var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
@@ -3360,8 +3538,8 @@
this.setElementContent($tip.find(Selector$7.CONTENT), content); this.setElementContent($tip.find(Selector$7.CONTENT), content);
$tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW); $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
}; // Private } // Private
;
_proto._getContent = function _getContent() { _proto._getContent = function _getContent() {
return this.element.getAttribute('data-content') || this.config.content; return this.element.getAttribute('data-content') || this.config.content;
@@ -3374,8 +3552,8 @@
if (tabClass !== null && tabClass.length > 0) { if (tabClass !== null && tabClass.length > 0) {
$tip.removeClass(tabClass.join('')); $tip.removeClass(tabClass.join(''));
} }
}; // Static } // Static
;
Popover._jQueryInterface = function _jQueryInterface(config) { Popover._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -3464,7 +3642,7 @@
*/ */
var NAME$8 = 'scrollspy'; var NAME$8 = 'scrollspy';
var VERSION$8 = '4.2.1'; var VERSION$8 = '4.3.1';
var DATA_KEY$8 = 'bs.scrollspy'; var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8; var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api'; var DATA_API_KEY$6 = '.data-api';
@@ -3587,8 +3765,8 @@
this._targets = null; this._targets = null;
this._activeTarget = null; this._activeTarget = null;
this._scrollHeight = null; this._scrollHeight = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {}); config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
@@ -3695,8 +3873,8 @@
}).forEach(function (node) { }).forEach(function (node) {
return node.classList.remove(ClassName$8.ACTIVE); return node.classList.remove(ClassName$8.ACTIVE);
}); });
}; // Static } // Static
;
ScrollSpy._jQueryInterface = function _jQueryInterface(config) { ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -3771,7 +3949,7 @@
*/ */
var NAME$9 = 'tab'; var NAME$9 = 'tab';
var VERSION$9 = '4.2.1'; var VERSION$9 = '4.3.1';
var DATA_KEY$9 = 'bs.tab'; var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9; var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api'; var DATA_API_KEY$7 = '.data-api';
@@ -3879,8 +4057,8 @@
_proto.dispose = function dispose() { _proto.dispose = function dispose() {
$.removeData(this._element, DATA_KEY$9); $.removeData(this._element, DATA_KEY$9);
this._element = null; this._element = null;
}; // Private } // Private
;
_proto._activate = function _activate(element, container, callback) { _proto._activate = function _activate(element, container, callback) {
var _this2 = this; var _this2 = this;
@@ -3922,7 +4100,10 @@
} }
Util.reflow(element); Util.reflow(element);
$(element).addClass(ClassName$9.SHOW);
if (element.classList.contains(ClassName$9.FADE)) {
element.classList.add(ClassName$9.SHOW);
}
if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) { if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0]; var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
@@ -3938,8 +4119,8 @@
if (callback) { if (callback) {
callback(); callback();
} }
}; // Static } // Static
;
Tab._jQueryInterface = function _jQueryInterface(config) { Tab._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -4003,7 +4184,7 @@
*/ */
var NAME$a = 'toast'; var NAME$a = 'toast';
var VERSION$a = '4.2.1'; var VERSION$a = '4.3.1';
var DATA_KEY$a = 'bs.toast'; var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a; var EVENT_KEY$a = "." + DATA_KEY$a;
var JQUERY_NO_CONFLICT$a = $.fn[NAME$a]; var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
@@ -4118,8 +4299,8 @@
$.removeData(this._element, DATA_KEY$a); $.removeData(this._element, DATA_KEY$a);
this._element = null; this._element = null;
this._config = null; this._config = null;
}; // Private } // Private
;
_proto._getConfig = function _getConfig(config) { _proto._getConfig = function _getConfig(config) {
config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {}); config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
@@ -4152,8 +4333,8 @@
} else { } else {
complete(); complete();
} }
}; // Static } // Static
;
Toast._jQueryInterface = function _jQueryInterface(config) { Toast._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () { return this.each(function () {
@@ -4187,6 +4368,11 @@
get: function get() { get: function get() {
return DefaultType$7; return DefaultType$7;
} }
}, {
key: "Default",
get: function get() {
return Default$7;
}
}]); }]);
return Toast; return Toast;
@@ -4208,7 +4394,7 @@
/** /**
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Bootstrap (v4.2.1): index.js * Bootstrap (v4.3.1): index.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
@@ -4245,5 +4431,5 @@
Object.defineProperty(exports, '__esModule', { value: true }); Object.defineProperty(exports, '__esModule', { value: true });
}))); }));
//# sourceMappingURL=bootstrap.js.map //# sourceMappingURL=bootstrap.js.map
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+417 -183
View File
@@ -1,5 +1,5 @@
/*! /*!
* jQuery JavaScript Library v3.3.1 * jQuery JavaScript Library v3.4.1
* https://jquery.com/ * https://jquery.com/
* *
* Includes Sizzle.js * Includes Sizzle.js
@@ -9,7 +9,7 @@
* Released under the MIT license * Released under the MIT license
* https://jquery.org/license * https://jquery.org/license
* *
* Date: 2018-01-20T17:24Z * Date: 2019-05-01T21:04Z
*/ */
( function( global, factory ) { ( function( global, factory ) {
@@ -91,20 +91,33 @@ var isWindow = function isWindow( obj ) {
var preservedScriptAttributes = { var preservedScriptAttributes = {
type: true, type: true,
src: true, src: true,
nonce: true,
noModule: true noModule: true
}; };
function DOMEval( code, doc, node ) { function DOMEval( code, node, doc ) {
doc = doc || document; doc = doc || document;
var i, var i, val,
script = doc.createElement( "script" ); script = doc.createElement( "script" );
script.text = code; script.text = code;
if ( node ) { if ( node ) {
for ( i in preservedScriptAttributes ) { for ( i in preservedScriptAttributes ) {
if ( node[ i ] ) {
script[ i ] = node[ i ]; // Support: Firefox 64+, Edge 18+
// Some browsers don't support the "nonce" property on scripts.
// On the other hand, just using `getAttribute` is not enough as
// the `nonce` attribute is reset to an empty string whenever it
// becomes browsing-context connected.
// See https://github.com/whatwg/html/issues/2369
// See https://html.spec.whatwg.org/#nonce-attributes
// The `node.getAttribute` check was added for the sake of
// `jQuery.globalEval` so that it can fake a nonce-containing node
// via an object.
val = node[ i ] || node.getAttribute && node.getAttribute( i );
if ( val ) {
script.setAttribute( i, val );
} }
} }
} }
@@ -129,7 +142,7 @@ function toType( obj ) {
var var
version = "3.3.1", version = "3.4.1",
// Define a local copy of jQuery // Define a local copy of jQuery
jQuery = function( selector, context ) { jQuery = function( selector, context ) {
@@ -258,25 +271,28 @@ jQuery.extend = jQuery.fn.extend = function() {
// Extend the base object // Extend the base object
for ( name in options ) { for ( name in options ) {
src = target[ name ];
copy = options[ name ]; copy = options[ name ];
// Prevent Object.prototype pollution
// Prevent never-ending loop // Prevent never-ending loop
if ( target === copy ) { if ( name === "__proto__" || target === copy ) {
continue; continue;
} }
// Recurse if we're merging plain objects or arrays // Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) || if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = Array.isArray( copy ) ) ) ) { ( copyIsArray = Array.isArray( copy ) ) ) ) {
src = target[ name ];
if ( copyIsArray ) { // Ensure proper type for the source value
copyIsArray = false; if ( copyIsArray && !Array.isArray( src ) ) {
clone = src && Array.isArray( src ) ? src : []; clone = [];
} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
clone = {};
} else { } else {
clone = src && jQuery.isPlainObject( src ) ? src : {}; clone = src;
} }
copyIsArray = false;
// Never move original objects, clone them // Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy ); target[ name ] = jQuery.extend( deep, clone, copy );
@@ -329,9 +345,6 @@ jQuery.extend( {
}, },
isEmptyObject: function( obj ) { isEmptyObject: function( obj ) {
/* eslint-disable no-unused-vars */
// See https://github.com/eslint/eslint/issues/6125
var name; var name;
for ( name in obj ) { for ( name in obj ) {
@@ -341,8 +354,8 @@ jQuery.extend( {
}, },
// Evaluates a script in a global context // Evaluates a script in a global context
globalEval: function( code ) { globalEval: function( code, options ) {
DOMEval( code ); DOMEval( code, { nonce: options && options.nonce } );
}, },
each: function( obj, callback ) { each: function( obj, callback ) {
@@ -498,14 +511,14 @@ function isArrayLike( obj ) {
} }
var Sizzle = var Sizzle =
/*! /*!
* Sizzle CSS Selector Engine v2.3.3 * Sizzle CSS Selector Engine v2.3.4
* https://sizzlejs.com/ * https://sizzlejs.com/
* *
* Copyright jQuery Foundation and other contributors * Copyright JS Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* http://jquery.org/license * https://js.foundation/
* *
* Date: 2016-08-08 * Date: 2019-04-08
*/ */
(function( window ) { (function( window ) {
@@ -539,6 +552,7 @@ var i,
classCache = createCache(), classCache = createCache(),
tokenCache = createCache(), tokenCache = createCache(),
compilerCache = createCache(), compilerCache = createCache(),
nonnativeSelectorCache = createCache(),
sortOrder = function( a, b ) { sortOrder = function( a, b ) {
if ( a === b ) { if ( a === b ) {
hasDuplicate = true; hasDuplicate = true;
@@ -600,8 +614,7 @@ var i,
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
rdescend = new RegExp( whitespace + "|>" ),
rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
rpseudo = new RegExp( pseudos ), rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ), ridentifier = new RegExp( "^" + identifier + "$" ),
@@ -622,6 +635,7 @@ var i,
whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
}, },
rhtml = /HTML$/i,
rinputs = /^(?:input|select|textarea|button)$/i, rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i, rheader = /^h\d$/i,
@@ -676,9 +690,9 @@ var i,
setDocument(); setDocument();
}, },
disabledAncestor = addCombinator( inDisabledFieldset = addCombinator(
function( elem ) { function( elem ) {
return elem.disabled === true && ("form" in elem || "label" in elem); return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
}, },
{ dir: "parentNode", next: "legend" } { dir: "parentNode", next: "legend" }
); );
@@ -791,18 +805,22 @@ function Sizzle( selector, context, results, seed ) {
// Take advantage of querySelectorAll // Take advantage of querySelectorAll
if ( support.qsa && if ( support.qsa &&
!compilerCache[ selector + " " ] && !nonnativeSelectorCache[ selector + " " ] &&
(!rbuggyQSA || !rbuggyQSA.test( selector )) ) { (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
if ( nodeType !== 1 ) { // Support: IE 8 only
newContext = context;
newSelector = selector;
// qSA looks outside Element context, which is not what we want
// Thanks to Andrew Dupont for this workaround technique
// Support: IE <=8
// Exclude object elements // Exclude object elements
} else if ( context.nodeName.toLowerCase() !== "object" ) { (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
newSelector = selector;
newContext = context;
// qSA considers elements outside a scoping root when evaluating child or
// descendant combinators, which is not what we want.
// In such cases, we work around the behavior by prefixing every selector in the
// list with an ID selector referencing the scope context.
// Thanks to Andrew Dupont for this technique.
if ( nodeType === 1 && rdescend.test( selector ) ) {
// Capture the context ID, setting it first if necessary // Capture the context ID, setting it first if necessary
if ( (nid = context.getAttribute( "id" )) ) { if ( (nid = context.getAttribute( "id" )) ) {
@@ -824,17 +842,16 @@ function Sizzle( selector, context, results, seed ) {
context; context;
} }
if ( newSelector ) { try {
try { push.apply( results,
push.apply( results, newContext.querySelectorAll( newSelector )
newContext.querySelectorAll( newSelector ) );
); return results;
return results; } catch ( qsaError ) {
} catch ( qsaError ) { nonnativeSelectorCache( selector, true );
} finally { } finally {
if ( nid === expando ) { if ( nid === expando ) {
context.removeAttribute( "id" ); context.removeAttribute( "id" );
}
} }
} }
} }
@@ -998,7 +1015,7 @@ function createDisabledPseudo( disabled ) {
// Where there is no isDisabled, check manually // Where there is no isDisabled, check manually
/* jshint -W018 */ /* jshint -W018 */
elem.isDisabled !== !disabled && elem.isDisabled !== !disabled &&
disabledAncestor( elem ) === disabled; inDisabledFieldset( elem ) === disabled;
} }
return elem.disabled === disabled; return elem.disabled === disabled;
@@ -1055,10 +1072,13 @@ support = Sizzle.support = {};
* @returns {Boolean} True iff elem is a non-HTML XML node * @returns {Boolean} True iff elem is a non-HTML XML node
*/ */
isXML = Sizzle.isXML = function( elem ) { isXML = Sizzle.isXML = function( elem ) {
// documentElement is verified for cases where it doesn't yet exist var namespace = elem.namespaceURI,
// (such as loading iframes in IE - #4833) docElem = (elem.ownerDocument || elem).documentElement;
var documentElement = elem && (elem.ownerDocument || elem).documentElement;
return documentElement ? documentElement.nodeName !== "HTML" : false; // Support: IE <=8
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
// https://bugs.jquery.com/ticket/4833
return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
}; };
/** /**
@@ -1480,11 +1500,8 @@ Sizzle.matchesSelector = function( elem, expr ) {
setDocument( elem ); setDocument( elem );
} }
// Make sure that attribute selectors are quoted
expr = expr.replace( rattributeQuotes, "='$1']" );
if ( support.matchesSelector && documentIsHTML && if ( support.matchesSelector && documentIsHTML &&
!compilerCache[ expr + " " ] && !nonnativeSelectorCache[ expr + " " ] &&
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
@@ -1498,7 +1515,9 @@ Sizzle.matchesSelector = function( elem, expr ) {
elem.document && elem.document.nodeType !== 11 ) { elem.document && elem.document.nodeType !== 11 ) {
return ret; return ret;
} }
} catch (e) {} } catch (e) {
nonnativeSelectorCache( expr, true );
}
} }
return Sizzle( expr, document, null, [ elem ] ).length > 0; return Sizzle( expr, document, null, [ elem ] ).length > 0;
@@ -1957,7 +1976,7 @@ Expr = Sizzle.selectors = {
"contains": markFunction(function( text ) { "contains": markFunction(function( text ) {
text = text.replace( runescape, funescape ); text = text.replace( runescape, funescape );
return function( elem ) { return function( elem ) {
return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
}; };
}), }),
@@ -2096,7 +2115,11 @@ Expr = Sizzle.selectors = {
}), }),
"lt": createPositionalPseudo(function( matchIndexes, length, argument ) { "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
var i = argument < 0 ? argument + length : argument; var i = argument < 0 ?
argument + length :
argument > length ?
length :
argument;
for ( ; --i >= 0; ) { for ( ; --i >= 0; ) {
matchIndexes.push( i ); matchIndexes.push( i );
} }
@@ -3146,18 +3169,18 @@ jQuery.each( {
return siblings( elem.firstChild ); return siblings( elem.firstChild );
}, },
contents: function( elem ) { contents: function( elem ) {
if ( nodeName( elem, "iframe" ) ) { if ( typeof elem.contentDocument !== "undefined" ) {
return elem.contentDocument; return elem.contentDocument;
} }
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
// Treat the template element as a regular one in browsers that // Treat the template element as a regular one in browsers that
// don't support it. // don't support it.
if ( nodeName( elem, "template" ) ) { if ( nodeName( elem, "template" ) ) {
elem = elem.content || elem; elem = elem.content || elem;
} }
return jQuery.merge( [], elem.childNodes ); return jQuery.merge( [], elem.childNodes );
} }
}, function( name, fn ) { }, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) { jQuery.fn[ name ] = function( until, selector ) {
@@ -4466,6 +4489,26 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
var documentElement = document.documentElement;
var isAttached = function( elem ) {
return jQuery.contains( elem.ownerDocument, elem );
},
composed = { composed: true };
// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
// Check attachment across shadow DOM boundaries when possible (gh-3504)
// Support: iOS 10.0-10.2 only
// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
// leading to errors. We need to check for `getRootNode`.
if ( documentElement.getRootNode ) {
isAttached = function( elem ) {
return jQuery.contains( elem.ownerDocument, elem ) ||
elem.getRootNode( composed ) === elem.ownerDocument;
};
}
var isHiddenWithinTree = function( elem, el ) { var isHiddenWithinTree = function( elem, el ) {
// isHiddenWithinTree might be called from jQuery#filter function; // isHiddenWithinTree might be called from jQuery#filter function;
@@ -4480,7 +4523,7 @@ var isHiddenWithinTree = function( elem, el ) {
// Support: Firefox <=43 - 45 // Support: Firefox <=43 - 45
// Disconnected elements can have computed display: none, so first confirm that elem is // Disconnected elements can have computed display: none, so first confirm that elem is
// in the document. // in the document.
jQuery.contains( elem.ownerDocument, elem ) && isAttached( elem ) &&
jQuery.css( elem, "display" ) === "none"; jQuery.css( elem, "display" ) === "none";
}; };
@@ -4522,7 +4565,8 @@ function adjustCSS( elem, prop, valueParts, tween ) {
unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
// Starting value computation is required for potential unit mismatches // Starting value computation is required for potential unit mismatches
initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && initialInUnit = elem.nodeType &&
( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
rcssNum.exec( jQuery.css( elem, prop ) ); rcssNum.exec( jQuery.css( elem, prop ) );
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
@@ -4669,7 +4713,7 @@ jQuery.fn.extend( {
} ); } );
var rcheckableType = ( /^(?:checkbox|radio)$/i ); var rcheckableType = ( /^(?:checkbox|radio)$/i );
var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
@@ -4741,7 +4785,7 @@ function setGlobalEval( elems, refElements ) {
var rhtml = /<|&#?\w+;/; var rhtml = /<|&#?\w+;/;
function buildFragment( elems, context, scripts, selection, ignored ) { function buildFragment( elems, context, scripts, selection, ignored ) {
var elem, tmp, tag, wrap, contains, j, var elem, tmp, tag, wrap, attached, j,
fragment = context.createDocumentFragment(), fragment = context.createDocumentFragment(),
nodes = [], nodes = [],
i = 0, i = 0,
@@ -4805,13 +4849,13 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
continue; continue;
} }
contains = jQuery.contains( elem.ownerDocument, elem ); attached = isAttached( elem );
// Append to fragment // Append to fragment
tmp = getAll( fragment.appendChild( elem ), "script" ); tmp = getAll( fragment.appendChild( elem ), "script" );
// Preserve script evaluation history // Preserve script evaluation history
if ( contains ) { if ( attached ) {
setGlobalEval( tmp ); setGlobalEval( tmp );
} }
@@ -4854,8 +4898,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
div.innerHTML = "<textarea>x</textarea>"; div.innerHTML = "<textarea>x</textarea>";
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
} )(); } )();
var documentElement = document.documentElement;
var var
@@ -4871,8 +4913,19 @@ function returnFalse() {
return false; return false;
} }
// Support: IE <=9 - 11+
// focus() and blur() are asynchronous, except when they are no-op.
// So expect focus to be synchronous when the element is already active,
// and blur to be synchronous when the element is not already active.
// (focus and blur are always synchronous in other supported browsers,
// this just defines when we can count on it).
function expectSync( elem, type ) {
return ( elem === safeActiveElement() ) === ( type === "focus" );
}
// Support: IE <=9 only // Support: IE <=9 only
// See #13393 for more info // Accessing document.activeElement can throw unexpectedly
// https://bugs.jquery.com/ticket/13393
function safeActiveElement() { function safeActiveElement() {
try { try {
return document.activeElement; return document.activeElement;
@@ -5172,9 +5225,10 @@ jQuery.event = {
while ( ( handleObj = matched.handlers[ j++ ] ) && while ( ( handleObj = matched.handlers[ j++ ] ) &&
!event.isImmediatePropagationStopped() ) { !event.isImmediatePropagationStopped() ) {
// Triggered event must either 1) have no namespace, or 2) have namespace(s) // If the event is namespaced, then each handler is only invoked if it is
// a subset or equal to those in the bound event (both can have no namespace). // specially universal or its namespaces are a superset of the event's.
if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { if ( !event.rnamespace || handleObj.namespace === false ||
event.rnamespace.test( handleObj.namespace ) ) {
event.handleObj = handleObj; event.handleObj = handleObj;
event.data = handleObj.data; event.data = handleObj.data;
@@ -5298,39 +5352,51 @@ jQuery.event = {
// Prevent triggered image.load events from bubbling to window.load // Prevent triggered image.load events from bubbling to window.load
noBubble: true noBubble: true
}, },
focus: {
// Fire native event if possible so blur/focus sequence is correct
trigger: function() {
if ( this !== safeActiveElement() && this.focus ) {
this.focus();
return false;
}
},
delegateType: "focusin"
},
blur: {
trigger: function() {
if ( this === safeActiveElement() && this.blur ) {
this.blur();
return false;
}
},
delegateType: "focusout"
},
click: { click: {
// For checkbox, fire native event so checked state will be right // Utilize native event to ensure correct state for checkable inputs
trigger: function() { setup: function( data ) {
if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
this.click(); // For mutual compressibility with _default, replace `this` access with a local var.
return false; // `|| data` is dead code meant only to preserve the variable through minification.
var el = this || data;
// Claim the first handler
if ( rcheckableType.test( el.type ) &&
el.click && nodeName( el, "input" ) ) {
// dataPriv.set( el, "click", ... )
leverageNative( el, "click", returnTrue );
} }
// Return false to allow normal processing in the caller
return false;
},
trigger: function( data ) {
// For mutual compressibility with _default, replace `this` access with a local var.
// `|| data` is dead code meant only to preserve the variable through minification.
var el = this || data;
// Force setup before triggering a click
if ( rcheckableType.test( el.type ) &&
el.click && nodeName( el, "input" ) ) {
leverageNative( el, "click" );
}
// Return non-false to allow normal event-path propagation
return true;
}, },
// For cross-browser consistency, don't fire native .click() on links // For cross-browser consistency, suppress native .click() on links
// Also prevent it if we're currently inside a leveraged native-event stack
_default: function( event ) { _default: function( event ) {
return nodeName( event.target, "a" ); var target = event.target;
return rcheckableType.test( target.type ) &&
target.click && nodeName( target, "input" ) &&
dataPriv.get( target, "click" ) ||
nodeName( target, "a" );
} }
}, },
@@ -5347,6 +5413,93 @@ jQuery.event = {
} }
}; };
// Ensure the presence of an event listener that handles manually-triggered
// synthetic events by interrupting progress until reinvoked in response to
// *native* events that it fires directly, ensuring that state changes have
// already occurred before other listeners are invoked.
function leverageNative( el, type, expectSync ) {
// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
if ( !expectSync ) {
if ( dataPriv.get( el, type ) === undefined ) {
jQuery.event.add( el, type, returnTrue );
}
return;
}
// Register the controller as a special universal handler for all event namespaces
dataPriv.set( el, type, false );
jQuery.event.add( el, type, {
namespace: false,
handler: function( event ) {
var notAsync, result,
saved = dataPriv.get( this, type );
if ( ( event.isTrigger & 1 ) && this[ type ] ) {
// Interrupt processing of the outer synthetic .trigger()ed event
// Saved data should be false in such cases, but might be a leftover capture object
// from an async native handler (gh-4350)
if ( !saved.length ) {
// Store arguments for use when handling the inner native event
// There will always be at least one argument (an event object), so this array
// will not be confused with a leftover capture object.
saved = slice.call( arguments );
dataPriv.set( this, type, saved );
// Trigger the native event and capture its result
// Support: IE <=9 - 11+
// focus() and blur() are asynchronous
notAsync = expectSync( this, type );
this[ type ]();
result = dataPriv.get( this, type );
if ( saved !== result || notAsync ) {
dataPriv.set( this, type, false );
} else {
result = {};
}
if ( saved !== result ) {
// Cancel the outer synthetic event
event.stopImmediatePropagation();
event.preventDefault();
return result.value;
}
// If this is an inner synthetic event for an event with a bubbling surrogate
// (focus or blur), assume that the surrogate already propagated from triggering the
// native event and prevent that from happening again here.
// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
// bubbling surrogate propagates *after* the non-bubbling base), but that seems
// less bad than duplication.
} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
event.stopPropagation();
}
// If this is a native event triggered above, everything is now in order
// Fire an inner synthetic event with the original arguments
} else if ( saved.length ) {
// ...and capture the result
dataPriv.set( this, type, {
value: jQuery.event.trigger(
// Support: IE <=9 - 11+
// Extend with the prototype to reset the above stopImmediatePropagation()
jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
saved.slice( 1 ),
this
)
} );
// Abort handling of the native event
event.stopImmediatePropagation();
}
}
} );
}
jQuery.removeEvent = function( elem, type, handle ) { jQuery.removeEvent = function( elem, type, handle ) {
// This "if" is needed for plain objects // This "if" is needed for plain objects
@@ -5459,6 +5612,7 @@ jQuery.each( {
shiftKey: true, shiftKey: true,
view: true, view: true,
"char": true, "char": true,
code: true,
charCode: true, charCode: true,
key: true, key: true,
keyCode: true, keyCode: true,
@@ -5505,6 +5659,33 @@ jQuery.each( {
} }
}, jQuery.event.addProp ); }, jQuery.event.addProp );
jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
jQuery.event.special[ type ] = {
// Utilize native event if possible so blur/focus sequence is correct
setup: function() {
// Claim the first handler
// dataPriv.set( this, "focus", ... )
// dataPriv.set( this, "blur", ... )
leverageNative( this, type, expectSync );
// Return false to allow normal processing in the caller
return false;
},
trigger: function() {
// Force setup before trigger
leverageNative( this, type );
// Return non-false to allow normal event-path propagation
return true;
},
delegateType: delegateType
};
} );
// Create mouseenter/leave events using mouseover/out and event-time checks // Create mouseenter/leave events using mouseover/out and event-time checks
// so that event delegation works in jQuery. // so that event delegation works in jQuery.
// Do the same for pointerenter/pointerleave and pointerover/pointerout // Do the same for pointerenter/pointerleave and pointerover/pointerout
@@ -5755,11 +5936,13 @@ function domManip( collection, args, callback, ignored ) {
if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
// Optional AJAX dependency, but won't run scripts if not present // Optional AJAX dependency, but won't run scripts if not present
if ( jQuery._evalUrl ) { if ( jQuery._evalUrl && !node.noModule ) {
jQuery._evalUrl( node.src ); jQuery._evalUrl( node.src, {
nonce: node.nonce || node.getAttribute( "nonce" )
} );
} }
} else { } else {
DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
} }
} }
} }
@@ -5781,7 +5964,7 @@ function remove( elem, selector, keepData ) {
} }
if ( node.parentNode ) { if ( node.parentNode ) {
if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { if ( keepData && isAttached( node ) ) {
setGlobalEval( getAll( node, "script" ) ); setGlobalEval( getAll( node, "script" ) );
} }
node.parentNode.removeChild( node ); node.parentNode.removeChild( node );
@@ -5799,7 +5982,7 @@ jQuery.extend( {
clone: function( elem, dataAndEvents, deepDataAndEvents ) { clone: function( elem, dataAndEvents, deepDataAndEvents ) {
var i, l, srcElements, destElements, var i, l, srcElements, destElements,
clone = elem.cloneNode( true ), clone = elem.cloneNode( true ),
inPage = jQuery.contains( elem.ownerDocument, elem ); inPage = isAttached( elem );
// Fix IE cloning issues // Fix IE cloning issues
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
@@ -6095,8 +6278,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
// Support: IE 9 only // Support: IE 9 only
// Detect overflow:scroll screwiness (gh-3699) // Detect overflow:scroll screwiness (gh-3699)
// Support: Chrome <=64
// Don't get tricked when zoom affects offsetWidth (gh-4029)
div.style.position = "absolute"; div.style.position = "absolute";
scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
documentElement.removeChild( container ); documentElement.removeChild( container );
@@ -6167,7 +6352,7 @@ function curCSS( elem, name, computed ) {
if ( computed ) { if ( computed ) {
ret = computed.getPropertyValue( name ) || computed[ name ]; ret = computed.getPropertyValue( name ) || computed[ name ];
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { if ( ret === "" && !isAttached( elem ) ) {
ret = jQuery.style( elem, name ); ret = jQuery.style( elem, name );
} }
@@ -6223,30 +6408,13 @@ function addGetHookIf( conditionFn, hookFn ) {
} }
var var cssPrefixes = [ "Webkit", "Moz", "ms" ],
emptyStyle = document.createElement( "div" ).style,
vendorProps = {};
// Swappable if display is none or starts with table // Return a vendor-prefixed property or undefined
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
fontWeight: "400"
},
cssPrefixes = [ "Webkit", "Moz", "ms" ],
emptyStyle = document.createElement( "div" ).style;
// Return a css property mapped to a potentially vendor prefixed property
function vendorPropName( name ) { function vendorPropName( name ) {
// Shortcut for names that are not vendor prefixed
if ( name in emptyStyle ) {
return name;
}
// Check for vendor prefixed names // Check for vendor prefixed names
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
i = cssPrefixes.length; i = cssPrefixes.length;
@@ -6259,16 +6427,33 @@ function vendorPropName( name ) {
} }
} }
// Return a property mapped along what jQuery.cssProps suggests or to // Return a potentially-mapped jQuery.cssProps or vendor prefixed property
// a vendor prefixed property.
function finalPropName( name ) { function finalPropName( name ) {
var ret = jQuery.cssProps[ name ]; var final = jQuery.cssProps[ name ] || vendorProps[ name ];
if ( !ret ) {
ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; if ( final ) {
return final;
} }
return ret; if ( name in emptyStyle ) {
return name;
}
return vendorProps[ name ] = vendorPropName( name ) || name;
} }
var
// Swappable if display is none or starts with table
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
fontWeight: "400"
};
function setPositiveNumber( elem, value, subtract ) { function setPositiveNumber( elem, value, subtract ) {
// Any relative (+/-) values have already been // Any relative (+/-) values have already been
@@ -6340,7 +6525,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
delta - delta -
extra - extra -
0.5 0.5
) );
// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
// Use an explicit zero to avoid NaN (gh-3964)
) ) || 0;
} }
return delta; return delta;
@@ -6350,9 +6538,16 @@ function getWidthOrHeight( elem, dimension, extra ) {
// Start with computed style // Start with computed style
var styles = getStyles( elem ), var styles = getStyles( elem ),
// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
// Fake content-box until we know it's needed to know the true value.
boxSizingNeeded = !support.boxSizingReliable() || extra,
isBorderBox = boxSizingNeeded &&
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
valueIsBorderBox = isBorderBox,
val = curCSS( elem, dimension, styles ), val = curCSS( elem, dimension, styles ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
valueIsBorderBox = isBorderBox;
// Support: Firefox <=54 // Support: Firefox <=54
// Return a confounding non-pixel value or feign ignorance, as appropriate. // Return a confounding non-pixel value or feign ignorance, as appropriate.
@@ -6363,22 +6558,29 @@ function getWidthOrHeight( elem, dimension, extra ) {
val = "auto"; val = "auto";
} }
// Check for style in case a browser which returns unreliable values
// for getComputedStyle silently falls back to the reliable elem.style
valueIsBorderBox = valueIsBorderBox &&
( support.boxSizingReliable() || val === elem.style[ dimension ] );
// Fall back to offsetWidth/offsetHeight when value is "auto" // Fall back to offsetWidth/offsetHeight when value is "auto"
// This happens for inline elements with no explicit setting (gh-3571) // This happens for inline elements with no explicit setting (gh-3571)
// Support: Android <=4.1 - 4.3 only // Support: Android <=4.1 - 4.3 only
// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
if ( val === "auto" || // Support: IE 9-11 only
!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { // Also use offsetWidth/offsetHeight for when box sizing is unreliable
// We use getClientRects() to check for hidden/disconnected.
// In those cases, the computed value can be trusted to be border-box
if ( ( !support.boxSizingReliable() && isBorderBox ||
val === "auto" ||
!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
elem.getClientRects().length ) {
val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
// offsetWidth/offsetHeight provide border-box values // Where available, offsetWidth/offsetHeight approximate border box dimensions.
valueIsBorderBox = true; // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
// retrieved value as a content box dimension.
valueIsBorderBox = offsetProp in elem;
if ( valueIsBorderBox ) {
val = elem[ offsetProp ];
}
} }
// Normalize "" and auto // Normalize "" and auto
@@ -6424,6 +6626,13 @@ jQuery.extend( {
"flexGrow": true, "flexGrow": true,
"flexShrink": true, "flexShrink": true,
"fontWeight": true, "fontWeight": true,
"gridArea": true,
"gridColumn": true,
"gridColumnEnd": true,
"gridColumnStart": true,
"gridRow": true,
"gridRowEnd": true,
"gridRowStart": true,
"lineHeight": true, "lineHeight": true,
"opacity": true, "opacity": true,
"order": true, "order": true,
@@ -6479,7 +6688,9 @@ jQuery.extend( {
} }
// If a number was passed in, add the unit (except for certain CSS properties) // If a number was passed in, add the unit (except for certain CSS properties)
if ( type === "number" ) { // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
// "px" to a few hardcoded values.
if ( type === "number" && !isCustomProp ) {
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
} }
@@ -6579,18 +6790,29 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) {
set: function( elem, value, extra ) { set: function( elem, value, extra ) {
var matches, var matches,
styles = getStyles( elem ), styles = getStyles( elem ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
subtract = extra && boxModelAdjustment( // Only read styles.position if the test has a chance to fail
elem, // to avoid forcing a reflow.
dimension, scrollboxSizeBuggy = !support.scrollboxSize() &&
extra, styles.position === "absolute",
isBorderBox,
styles // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
); boxSizingNeeded = scrollboxSizeBuggy || extra,
isBorderBox = boxSizingNeeded &&
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
subtract = extra ?
boxModelAdjustment(
elem,
dimension,
extra,
isBorderBox,
styles
) :
0;
// Account for unreliable border-box dimensions by comparing offset* to computed and // Account for unreliable border-box dimensions by comparing offset* to computed and
// faking a content-box to get border and padding (gh-3699) // faking a content-box to get border and padding (gh-3699)
if ( isBorderBox && support.scrollboxSize() === styles.position ) { if ( isBorderBox && scrollboxSizeBuggy ) {
subtract -= Math.ceil( subtract -= Math.ceil(
elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
parseFloat( styles[ dimension ] ) - parseFloat( styles[ dimension ] ) -
@@ -6758,9 +6980,9 @@ Tween.propHooks = {
// Use .style if available and use plain properties where available. // Use .style if available and use plain properties where available.
if ( jQuery.fx.step[ tween.prop ] ) { if ( jQuery.fx.step[ tween.prop ] ) {
jQuery.fx.step[ tween.prop ]( tween ); jQuery.fx.step[ tween.prop ]( tween );
} else if ( tween.elem.nodeType === 1 && } else if ( tween.elem.nodeType === 1 && (
( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ||
jQuery.cssHooks[ tween.prop ] ) ) { tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
} else { } else {
tween.elem[ tween.prop ] = tween.now; tween.elem[ tween.prop ] = tween.now;
@@ -8467,6 +8689,10 @@ jQuery.param = function( a, traditional ) {
encodeURIComponent( value == null ? "" : value ); encodeURIComponent( value == null ? "" : value );
}; };
if ( a == null ) {
return "";
}
// If an array was passed in, assume that it is an array of form elements. // If an array was passed in, assume that it is an array of form elements.
if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
@@ -8969,12 +9195,14 @@ jQuery.extend( {
if ( !responseHeaders ) { if ( !responseHeaders ) {
responseHeaders = {}; responseHeaders = {};
while ( ( match = rheaders.exec( responseHeadersString ) ) ) { while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
.concat( match[ 2 ] );
} }
} }
match = responseHeaders[ key.toLowerCase() ]; match = responseHeaders[ key.toLowerCase() + " " ];
} }
return match == null ? null : match; return match == null ? null : match.join( ", " );
}, },
// Raw string // Raw string
@@ -9363,7 +9591,7 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
} ); } );
jQuery._evalUrl = function( url ) { jQuery._evalUrl = function( url, options ) {
return jQuery.ajax( { return jQuery.ajax( {
url: url, url: url,
@@ -9373,7 +9601,16 @@ jQuery._evalUrl = function( url ) {
cache: true, cache: true,
async: false, async: false,
global: false, global: false,
"throws": true
// Only evaluate the response if it is successful (gh-4126)
// dataFilter is not invoked for failure responses, so using it instead
// of the default converter is kludgy but it works.
converters: {
"text script": function() {}
},
dataFilter: function( response ) {
jQuery.globalEval( response, options );
}
} ); } );
}; };
@@ -9656,24 +9893,21 @@ jQuery.ajaxPrefilter( "script", function( s ) {
// Bind script tag hack transport // Bind script tag hack transport
jQuery.ajaxTransport( "script", function( s ) { jQuery.ajaxTransport( "script", function( s ) {
// This transport only deals with cross domain requests // This transport only deals with cross domain or forced-by-attrs requests
if ( s.crossDomain ) { if ( s.crossDomain || s.scriptAttrs ) {
var script, callback; var script, callback;
return { return {
send: function( _, complete ) { send: function( _, complete ) {
script = jQuery( "<script>" ).prop( { script = jQuery( "<script>" )
charset: s.scriptCharset, .attr( s.scriptAttrs || {} )
src: s.url .prop( { charset: s.scriptCharset, src: s.url } )
} ).on( .on( "load error", callback = function( evt ) {
"load error",
callback = function( evt ) {
script.remove(); script.remove();
callback = null; callback = null;
if ( evt ) { if ( evt ) {
complete( evt.type === "error" ? 404 : 200, evt.type ); complete( evt.type === "error" ? 404 : 200, evt.type );
} }
} } );
);
// Use native DOM manipulation to avoid our domManip AJAX trickery // Use native DOM manipulation to avoid our domManip AJAX trickery
document.head.appendChild( script[ 0 ] ); document.head.appendChild( script[ 0 ] );
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
/*! /*!
* jQuery JavaScript Library v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector * jQuery JavaScript Library v3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
* https://jquery.com/ * https://jquery.com/
* *
* Includes Sizzle.js * Includes Sizzle.js
@@ -9,7 +9,7 @@
* Released under the MIT license * Released under the MIT license
* https://jquery.org/license * https://jquery.org/license
* *
* Date: 2018-01-20T17:24Z * Date: 2019-05-01T21:04Z
*/ */
( function( global, factory ) { ( function( global, factory ) {
@@ -91,20 +91,33 @@ var isWindow = function isWindow( obj ) {
var preservedScriptAttributes = { var preservedScriptAttributes = {
type: true, type: true,
src: true, src: true,
nonce: true,
noModule: true noModule: true
}; };
function DOMEval( code, doc, node ) { function DOMEval( code, node, doc ) {
doc = doc || document; doc = doc || document;
var i, var i, val,
script = doc.createElement( "script" ); script = doc.createElement( "script" );
script.text = code; script.text = code;
if ( node ) { if ( node ) {
for ( i in preservedScriptAttributes ) { for ( i in preservedScriptAttributes ) {
if ( node[ i ] ) {
script[ i ] = node[ i ]; // Support: Firefox 64+, Edge 18+
// Some browsers don't support the "nonce" property on scripts.
// On the other hand, just using `getAttribute` is not enough as
// the `nonce` attribute is reset to an empty string whenever it
// becomes browsing-context connected.
// See https://github.com/whatwg/html/issues/2369
// See https://html.spec.whatwg.org/#nonce-attributes
// The `node.getAttribute` check was added for the sake of
// `jQuery.globalEval` so that it can fake a nonce-containing node
// via an object.
val = node[ i ] || node.getAttribute && node.getAttribute( i );
if ( val ) {
script.setAttribute( i, val );
} }
} }
} }
@@ -129,7 +142,7 @@ function toType( obj ) {
var var
version = "3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector", version = "3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
// Define a local copy of jQuery // Define a local copy of jQuery
jQuery = function( selector, context ) { jQuery = function( selector, context ) {
@@ -258,25 +271,28 @@ jQuery.extend = jQuery.fn.extend = function() {
// Extend the base object // Extend the base object
for ( name in options ) { for ( name in options ) {
src = target[ name ];
copy = options[ name ]; copy = options[ name ];
// Prevent Object.prototype pollution
// Prevent never-ending loop // Prevent never-ending loop
if ( target === copy ) { if ( name === "__proto__" || target === copy ) {
continue; continue;
} }
// Recurse if we're merging plain objects or arrays // Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) || if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = Array.isArray( copy ) ) ) ) { ( copyIsArray = Array.isArray( copy ) ) ) ) {
src = target[ name ];
if ( copyIsArray ) { // Ensure proper type for the source value
copyIsArray = false; if ( copyIsArray && !Array.isArray( src ) ) {
clone = src && Array.isArray( src ) ? src : []; clone = [];
} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
clone = {};
} else { } else {
clone = src && jQuery.isPlainObject( src ) ? src : {}; clone = src;
} }
copyIsArray = false;
// Never move original objects, clone them // Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy ); target[ name ] = jQuery.extend( deep, clone, copy );
@@ -329,9 +345,6 @@ jQuery.extend( {
}, },
isEmptyObject: function( obj ) { isEmptyObject: function( obj ) {
/* eslint-disable no-unused-vars */
// See https://github.com/eslint/eslint/issues/6125
var name; var name;
for ( name in obj ) { for ( name in obj ) {
@@ -341,8 +354,8 @@ jQuery.extend( {
}, },
// Evaluates a script in a global context // Evaluates a script in a global context
globalEval: function( code ) { globalEval: function( code, options ) {
DOMEval( code ); DOMEval( code, { nonce: options && options.nonce } );
}, },
each: function( obj, callback ) { each: function( obj, callback ) {
@@ -498,14 +511,14 @@ function isArrayLike( obj ) {
} }
var Sizzle = var Sizzle =
/*! /*!
* Sizzle CSS Selector Engine v2.3.3 * Sizzle CSS Selector Engine v2.3.4
* https://sizzlejs.com/ * https://sizzlejs.com/
* *
* Copyright jQuery Foundation and other contributors * Copyright JS Foundation and other contributors
* Released under the MIT license * Released under the MIT license
* http://jquery.org/license * https://js.foundation/
* *
* Date: 2016-08-08 * Date: 2019-04-08
*/ */
(function( window ) { (function( window ) {
@@ -539,6 +552,7 @@ var i,
classCache = createCache(), classCache = createCache(),
tokenCache = createCache(), tokenCache = createCache(),
compilerCache = createCache(), compilerCache = createCache(),
nonnativeSelectorCache = createCache(),
sortOrder = function( a, b ) { sortOrder = function( a, b ) {
if ( a === b ) { if ( a === b ) {
hasDuplicate = true; hasDuplicate = true;
@@ -600,8 +614,7 @@ var i,
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
rdescend = new RegExp( whitespace + "|>" ),
rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
rpseudo = new RegExp( pseudos ), rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ), ridentifier = new RegExp( "^" + identifier + "$" ),
@@ -622,6 +635,7 @@ var i,
whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
}, },
rhtml = /HTML$/i,
rinputs = /^(?:input|select|textarea|button)$/i, rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i, rheader = /^h\d$/i,
@@ -676,9 +690,9 @@ var i,
setDocument(); setDocument();
}, },
disabledAncestor = addCombinator( inDisabledFieldset = addCombinator(
function( elem ) { function( elem ) {
return elem.disabled === true && ("form" in elem || "label" in elem); return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
}, },
{ dir: "parentNode", next: "legend" } { dir: "parentNode", next: "legend" }
); );
@@ -791,18 +805,22 @@ function Sizzle( selector, context, results, seed ) {
// Take advantage of querySelectorAll // Take advantage of querySelectorAll
if ( support.qsa && if ( support.qsa &&
!compilerCache[ selector + " " ] && !nonnativeSelectorCache[ selector + " " ] &&
(!rbuggyQSA || !rbuggyQSA.test( selector )) ) { (!rbuggyQSA || !rbuggyQSA.test( selector )) &&
if ( nodeType !== 1 ) { // Support: IE 8 only
newContext = context;
newSelector = selector;
// qSA looks outside Element context, which is not what we want
// Thanks to Andrew Dupont for this workaround technique
// Support: IE <=8
// Exclude object elements // Exclude object elements
} else if ( context.nodeName.toLowerCase() !== "object" ) { (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) {
newSelector = selector;
newContext = context;
// qSA considers elements outside a scoping root when evaluating child or
// descendant combinators, which is not what we want.
// In such cases, we work around the behavior by prefixing every selector in the
// list with an ID selector referencing the scope context.
// Thanks to Andrew Dupont for this technique.
if ( nodeType === 1 && rdescend.test( selector ) ) {
// Capture the context ID, setting it first if necessary // Capture the context ID, setting it first if necessary
if ( (nid = context.getAttribute( "id" )) ) { if ( (nid = context.getAttribute( "id" )) ) {
@@ -824,17 +842,16 @@ function Sizzle( selector, context, results, seed ) {
context; context;
} }
if ( newSelector ) { try {
try { push.apply( results,
push.apply( results, newContext.querySelectorAll( newSelector )
newContext.querySelectorAll( newSelector ) );
); return results;
return results; } catch ( qsaError ) {
} catch ( qsaError ) { nonnativeSelectorCache( selector, true );
} finally { } finally {
if ( nid === expando ) { if ( nid === expando ) {
context.removeAttribute( "id" ); context.removeAttribute( "id" );
}
} }
} }
} }
@@ -998,7 +1015,7 @@ function createDisabledPseudo( disabled ) {
// Where there is no isDisabled, check manually // Where there is no isDisabled, check manually
/* jshint -W018 */ /* jshint -W018 */
elem.isDisabled !== !disabled && elem.isDisabled !== !disabled &&
disabledAncestor( elem ) === disabled; inDisabledFieldset( elem ) === disabled;
} }
return elem.disabled === disabled; return elem.disabled === disabled;
@@ -1055,10 +1072,13 @@ support = Sizzle.support = {};
* @returns {Boolean} True iff elem is a non-HTML XML node * @returns {Boolean} True iff elem is a non-HTML XML node
*/ */
isXML = Sizzle.isXML = function( elem ) { isXML = Sizzle.isXML = function( elem ) {
// documentElement is verified for cases where it doesn't yet exist var namespace = elem.namespaceURI,
// (such as loading iframes in IE - #4833) docElem = (elem.ownerDocument || elem).documentElement;
var documentElement = elem && (elem.ownerDocument || elem).documentElement;
return documentElement ? documentElement.nodeName !== "HTML" : false; // Support: IE <=8
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
// https://bugs.jquery.com/ticket/4833
return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
}; };
/** /**
@@ -1480,11 +1500,8 @@ Sizzle.matchesSelector = function( elem, expr ) {
setDocument( elem ); setDocument( elem );
} }
// Make sure that attribute selectors are quoted
expr = expr.replace( rattributeQuotes, "='$1']" );
if ( support.matchesSelector && documentIsHTML && if ( support.matchesSelector && documentIsHTML &&
!compilerCache[ expr + " " ] && !nonnativeSelectorCache[ expr + " " ] &&
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
@@ -1498,7 +1515,9 @@ Sizzle.matchesSelector = function( elem, expr ) {
elem.document && elem.document.nodeType !== 11 ) { elem.document && elem.document.nodeType !== 11 ) {
return ret; return ret;
} }
} catch (e) {} } catch (e) {
nonnativeSelectorCache( expr, true );
}
} }
return Sizzle( expr, document, null, [ elem ] ).length > 0; return Sizzle( expr, document, null, [ elem ] ).length > 0;
@@ -1957,7 +1976,7 @@ Expr = Sizzle.selectors = {
"contains": markFunction(function( text ) { "contains": markFunction(function( text ) {
text = text.replace( runescape, funescape ); text = text.replace( runescape, funescape );
return function( elem ) { return function( elem ) {
return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
}; };
}), }),
@@ -2096,7 +2115,11 @@ Expr = Sizzle.selectors = {
}), }),
"lt": createPositionalPseudo(function( matchIndexes, length, argument ) { "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
var i = argument < 0 ? argument + length : argument; var i = argument < 0 ?
argument + length :
argument > length ?
length :
argument;
for ( ; --i >= 0; ) { for ( ; --i >= 0; ) {
matchIndexes.push( i ); matchIndexes.push( i );
} }
@@ -3146,18 +3169,18 @@ jQuery.each( {
return siblings( elem.firstChild ); return siblings( elem.firstChild );
}, },
contents: function( elem ) { contents: function( elem ) {
if ( nodeName( elem, "iframe" ) ) { if ( typeof elem.contentDocument !== "undefined" ) {
return elem.contentDocument; return elem.contentDocument;
} }
// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
// Treat the template element as a regular one in browsers that // Treat the template element as a regular one in browsers that
// don't support it. // don't support it.
if ( nodeName( elem, "template" ) ) { if ( nodeName( elem, "template" ) ) {
elem = elem.content || elem; elem = elem.content || elem;
} }
return jQuery.merge( [], elem.childNodes ); return jQuery.merge( [], elem.childNodes );
} }
}, function( name, fn ) { }, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) { jQuery.fn[ name ] = function( until, selector ) {
@@ -4466,6 +4489,26 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
var documentElement = document.documentElement;
var isAttached = function( elem ) {
return jQuery.contains( elem.ownerDocument, elem );
},
composed = { composed: true };
// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
// Check attachment across shadow DOM boundaries when possible (gh-3504)
// Support: iOS 10.0-10.2 only
// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
// leading to errors. We need to check for `getRootNode`.
if ( documentElement.getRootNode ) {
isAttached = function( elem ) {
return jQuery.contains( elem.ownerDocument, elem ) ||
elem.getRootNode( composed ) === elem.ownerDocument;
};
}
var isHiddenWithinTree = function( elem, el ) { var isHiddenWithinTree = function( elem, el ) {
// isHiddenWithinTree might be called from jQuery#filter function; // isHiddenWithinTree might be called from jQuery#filter function;
@@ -4480,7 +4523,7 @@ var isHiddenWithinTree = function( elem, el ) {
// Support: Firefox <=43 - 45 // Support: Firefox <=43 - 45
// Disconnected elements can have computed display: none, so first confirm that elem is // Disconnected elements can have computed display: none, so first confirm that elem is
// in the document. // in the document.
jQuery.contains( elem.ownerDocument, elem ) && isAttached( elem ) &&
jQuery.css( elem, "display" ) === "none"; jQuery.css( elem, "display" ) === "none";
}; };
@@ -4522,7 +4565,8 @@ function adjustCSS( elem, prop, valueParts, tween ) {
unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
// Starting value computation is required for potential unit mismatches // Starting value computation is required for potential unit mismatches
initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && initialInUnit = elem.nodeType &&
( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
rcssNum.exec( jQuery.css( elem, prop ) ); rcssNum.exec( jQuery.css( elem, prop ) );
if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
@@ -4669,7 +4713,7 @@ jQuery.fn.extend( {
} ); } );
var rcheckableType = ( /^(?:checkbox|radio)$/i ); var rcheckableType = ( /^(?:checkbox|radio)$/i );
var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
@@ -4741,7 +4785,7 @@ function setGlobalEval( elems, refElements ) {
var rhtml = /<|&#?\w+;/; var rhtml = /<|&#?\w+;/;
function buildFragment( elems, context, scripts, selection, ignored ) { function buildFragment( elems, context, scripts, selection, ignored ) {
var elem, tmp, tag, wrap, contains, j, var elem, tmp, tag, wrap, attached, j,
fragment = context.createDocumentFragment(), fragment = context.createDocumentFragment(),
nodes = [], nodes = [],
i = 0, i = 0,
@@ -4805,13 +4849,13 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
continue; continue;
} }
contains = jQuery.contains( elem.ownerDocument, elem ); attached = isAttached( elem );
// Append to fragment // Append to fragment
tmp = getAll( fragment.appendChild( elem ), "script" ); tmp = getAll( fragment.appendChild( elem ), "script" );
// Preserve script evaluation history // Preserve script evaluation history
if ( contains ) { if ( attached ) {
setGlobalEval( tmp ); setGlobalEval( tmp );
} }
@@ -4854,8 +4898,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
div.innerHTML = "<textarea>x</textarea>"; div.innerHTML = "<textarea>x</textarea>";
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
} )(); } )();
var documentElement = document.documentElement;
var var
@@ -4871,8 +4913,19 @@ function returnFalse() {
return false; return false;
} }
// Support: IE <=9 - 11+
// focus() and blur() are asynchronous, except when they are no-op.
// So expect focus to be synchronous when the element is already active,
// and blur to be synchronous when the element is not already active.
// (focus and blur are always synchronous in other supported browsers,
// this just defines when we can count on it).
function expectSync( elem, type ) {
return ( elem === safeActiveElement() ) === ( type === "focus" );
}
// Support: IE <=9 only // Support: IE <=9 only
// See #13393 for more info // Accessing document.activeElement can throw unexpectedly
// https://bugs.jquery.com/ticket/13393
function safeActiveElement() { function safeActiveElement() {
try { try {
return document.activeElement; return document.activeElement;
@@ -5172,9 +5225,10 @@ jQuery.event = {
while ( ( handleObj = matched.handlers[ j++ ] ) && while ( ( handleObj = matched.handlers[ j++ ] ) &&
!event.isImmediatePropagationStopped() ) { !event.isImmediatePropagationStopped() ) {
// Triggered event must either 1) have no namespace, or 2) have namespace(s) // If the event is namespaced, then each handler is only invoked if it is
// a subset or equal to those in the bound event (both can have no namespace). // specially universal or its namespaces are a superset of the event's.
if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { if ( !event.rnamespace || handleObj.namespace === false ||
event.rnamespace.test( handleObj.namespace ) ) {
event.handleObj = handleObj; event.handleObj = handleObj;
event.data = handleObj.data; event.data = handleObj.data;
@@ -5298,39 +5352,51 @@ jQuery.event = {
// Prevent triggered image.load events from bubbling to window.load // Prevent triggered image.load events from bubbling to window.load
noBubble: true noBubble: true
}, },
focus: {
// Fire native event if possible so blur/focus sequence is correct
trigger: function() {
if ( this !== safeActiveElement() && this.focus ) {
this.focus();
return false;
}
},
delegateType: "focusin"
},
blur: {
trigger: function() {
if ( this === safeActiveElement() && this.blur ) {
this.blur();
return false;
}
},
delegateType: "focusout"
},
click: { click: {
// For checkbox, fire native event so checked state will be right // Utilize native event to ensure correct state for checkable inputs
trigger: function() { setup: function( data ) {
if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
this.click(); // For mutual compressibility with _default, replace `this` access with a local var.
return false; // `|| data` is dead code meant only to preserve the variable through minification.
var el = this || data;
// Claim the first handler
if ( rcheckableType.test( el.type ) &&
el.click && nodeName( el, "input" ) ) {
// dataPriv.set( el, "click", ... )
leverageNative( el, "click", returnTrue );
} }
// Return false to allow normal processing in the caller
return false;
},
trigger: function( data ) {
// For mutual compressibility with _default, replace `this` access with a local var.
// `|| data` is dead code meant only to preserve the variable through minification.
var el = this || data;
// Force setup before triggering a click
if ( rcheckableType.test( el.type ) &&
el.click && nodeName( el, "input" ) ) {
leverageNative( el, "click" );
}
// Return non-false to allow normal event-path propagation
return true;
}, },
// For cross-browser consistency, don't fire native .click() on links // For cross-browser consistency, suppress native .click() on links
// Also prevent it if we're currently inside a leveraged native-event stack
_default: function( event ) { _default: function( event ) {
return nodeName( event.target, "a" ); var target = event.target;
return rcheckableType.test( target.type ) &&
target.click && nodeName( target, "input" ) &&
dataPriv.get( target, "click" ) ||
nodeName( target, "a" );
} }
}, },
@@ -5347,6 +5413,93 @@ jQuery.event = {
} }
}; };
// Ensure the presence of an event listener that handles manually-triggered
// synthetic events by interrupting progress until reinvoked in response to
// *native* events that it fires directly, ensuring that state changes have
// already occurred before other listeners are invoked.
function leverageNative( el, type, expectSync ) {
// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
if ( !expectSync ) {
if ( dataPriv.get( el, type ) === undefined ) {
jQuery.event.add( el, type, returnTrue );
}
return;
}
// Register the controller as a special universal handler for all event namespaces
dataPriv.set( el, type, false );
jQuery.event.add( el, type, {
namespace: false,
handler: function( event ) {
var notAsync, result,
saved = dataPriv.get( this, type );
if ( ( event.isTrigger & 1 ) && this[ type ] ) {
// Interrupt processing of the outer synthetic .trigger()ed event
// Saved data should be false in such cases, but might be a leftover capture object
// from an async native handler (gh-4350)
if ( !saved.length ) {
// Store arguments for use when handling the inner native event
// There will always be at least one argument (an event object), so this array
// will not be confused with a leftover capture object.
saved = slice.call( arguments );
dataPriv.set( this, type, saved );
// Trigger the native event and capture its result
// Support: IE <=9 - 11+
// focus() and blur() are asynchronous
notAsync = expectSync( this, type );
this[ type ]();
result = dataPriv.get( this, type );
if ( saved !== result || notAsync ) {
dataPriv.set( this, type, false );
} else {
result = {};
}
if ( saved !== result ) {
// Cancel the outer synthetic event
event.stopImmediatePropagation();
event.preventDefault();
return result.value;
}
// If this is an inner synthetic event for an event with a bubbling surrogate
// (focus or blur), assume that the surrogate already propagated from triggering the
// native event and prevent that from happening again here.
// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
// bubbling surrogate propagates *after* the non-bubbling base), but that seems
// less bad than duplication.
} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
event.stopPropagation();
}
// If this is a native event triggered above, everything is now in order
// Fire an inner synthetic event with the original arguments
} else if ( saved.length ) {
// ...and capture the result
dataPriv.set( this, type, {
value: jQuery.event.trigger(
// Support: IE <=9 - 11+
// Extend with the prototype to reset the above stopImmediatePropagation()
jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
saved.slice( 1 ),
this
)
} );
// Abort handling of the native event
event.stopImmediatePropagation();
}
}
} );
}
jQuery.removeEvent = function( elem, type, handle ) { jQuery.removeEvent = function( elem, type, handle ) {
// This "if" is needed for plain objects // This "if" is needed for plain objects
@@ -5459,6 +5612,7 @@ jQuery.each( {
shiftKey: true, shiftKey: true,
view: true, view: true,
"char": true, "char": true,
code: true,
charCode: true, charCode: true,
key: true, key: true,
keyCode: true, keyCode: true,
@@ -5505,6 +5659,33 @@ jQuery.each( {
} }
}, jQuery.event.addProp ); }, jQuery.event.addProp );
jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
jQuery.event.special[ type ] = {
// Utilize native event if possible so blur/focus sequence is correct
setup: function() {
// Claim the first handler
// dataPriv.set( this, "focus", ... )
// dataPriv.set( this, "blur", ... )
leverageNative( this, type, expectSync );
// Return false to allow normal processing in the caller
return false;
},
trigger: function() {
// Force setup before trigger
leverageNative( this, type );
// Return non-false to allow normal event-path propagation
return true;
},
delegateType: delegateType
};
} );
// Create mouseenter/leave events using mouseover/out and event-time checks // Create mouseenter/leave events using mouseover/out and event-time checks
// so that event delegation works in jQuery. // so that event delegation works in jQuery.
// Do the same for pointerenter/pointerleave and pointerover/pointerout // Do the same for pointerenter/pointerleave and pointerover/pointerout
@@ -5755,11 +5936,13 @@ function domManip( collection, args, callback, ignored ) {
if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) {
// Optional AJAX dependency, but won't run scripts if not present // Optional AJAX dependency, but won't run scripts if not present
if ( jQuery._evalUrl ) { if ( jQuery._evalUrl && !node.noModule ) {
jQuery._evalUrl( node.src ); jQuery._evalUrl( node.src, {
nonce: node.nonce || node.getAttribute( "nonce" )
} );
} }
} else { } else {
DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
} }
} }
} }
@@ -5781,7 +5964,7 @@ function remove( elem, selector, keepData ) {
} }
if ( node.parentNode ) { if ( node.parentNode ) {
if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { if ( keepData && isAttached( node ) ) {
setGlobalEval( getAll( node, "script" ) ); setGlobalEval( getAll( node, "script" ) );
} }
node.parentNode.removeChild( node ); node.parentNode.removeChild( node );
@@ -5799,7 +5982,7 @@ jQuery.extend( {
clone: function( elem, dataAndEvents, deepDataAndEvents ) { clone: function( elem, dataAndEvents, deepDataAndEvents ) {
var i, l, srcElements, destElements, var i, l, srcElements, destElements,
clone = elem.cloneNode( true ), clone = elem.cloneNode( true ),
inPage = jQuery.contains( elem.ownerDocument, elem ); inPage = isAttached( elem );
// Fix IE cloning issues // Fix IE cloning issues
if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
@@ -6095,8 +6278,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
// Support: IE 9 only // Support: IE 9 only
// Detect overflow:scroll screwiness (gh-3699) // Detect overflow:scroll screwiness (gh-3699)
// Support: Chrome <=64
// Don't get tricked when zoom affects offsetWidth (gh-4029)
div.style.position = "absolute"; div.style.position = "absolute";
scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
documentElement.removeChild( container ); documentElement.removeChild( container );
@@ -6167,7 +6352,7 @@ function curCSS( elem, name, computed ) {
if ( computed ) { if ( computed ) {
ret = computed.getPropertyValue( name ) || computed[ name ]; ret = computed.getPropertyValue( name ) || computed[ name ];
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { if ( ret === "" && !isAttached( elem ) ) {
ret = jQuery.style( elem, name ); ret = jQuery.style( elem, name );
} }
@@ -6223,30 +6408,13 @@ function addGetHookIf( conditionFn, hookFn ) {
} }
var var cssPrefixes = [ "Webkit", "Moz", "ms" ],
emptyStyle = document.createElement( "div" ).style,
vendorProps = {};
// Swappable if display is none or starts with table // Return a vendor-prefixed property or undefined
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
fontWeight: "400"
},
cssPrefixes = [ "Webkit", "Moz", "ms" ],
emptyStyle = document.createElement( "div" ).style;
// Return a css property mapped to a potentially vendor prefixed property
function vendorPropName( name ) { function vendorPropName( name ) {
// Shortcut for names that are not vendor prefixed
if ( name in emptyStyle ) {
return name;
}
// Check for vendor prefixed names // Check for vendor prefixed names
var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
i = cssPrefixes.length; i = cssPrefixes.length;
@@ -6259,16 +6427,33 @@ function vendorPropName( name ) {
} }
} }
// Return a property mapped along what jQuery.cssProps suggests or to // Return a potentially-mapped jQuery.cssProps or vendor prefixed property
// a vendor prefixed property.
function finalPropName( name ) { function finalPropName( name ) {
var ret = jQuery.cssProps[ name ]; var final = jQuery.cssProps[ name ] || vendorProps[ name ];
if ( !ret ) {
ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; if ( final ) {
return final;
} }
return ret; if ( name in emptyStyle ) {
return name;
}
return vendorProps[ name ] = vendorPropName( name ) || name;
} }
var
// Swappable if display is none or starts with table
// except "table", "table-cell", or "table-caption"
// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rcustomProp = /^--/,
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: "0",
fontWeight: "400"
};
function setPositiveNumber( elem, value, subtract ) { function setPositiveNumber( elem, value, subtract ) {
// Any relative (+/-) values have already been // Any relative (+/-) values have already been
@@ -6340,7 +6525,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
delta - delta -
extra - extra -
0.5 0.5
) );
// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
// Use an explicit zero to avoid NaN (gh-3964)
) ) || 0;
} }
return delta; return delta;
@@ -6350,9 +6538,16 @@ function getWidthOrHeight( elem, dimension, extra ) {
// Start with computed style // Start with computed style
var styles = getStyles( elem ), var styles = getStyles( elem ),
// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
// Fake content-box until we know it's needed to know the true value.
boxSizingNeeded = !support.boxSizingReliable() || extra,
isBorderBox = boxSizingNeeded &&
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
valueIsBorderBox = isBorderBox,
val = curCSS( elem, dimension, styles ), val = curCSS( elem, dimension, styles ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
valueIsBorderBox = isBorderBox;
// Support: Firefox <=54 // Support: Firefox <=54
// Return a confounding non-pixel value or feign ignorance, as appropriate. // Return a confounding non-pixel value or feign ignorance, as appropriate.
@@ -6363,22 +6558,29 @@ function getWidthOrHeight( elem, dimension, extra ) {
val = "auto"; val = "auto";
} }
// Check for style in case a browser which returns unreliable values
// for getComputedStyle silently falls back to the reliable elem.style
valueIsBorderBox = valueIsBorderBox &&
( support.boxSizingReliable() || val === elem.style[ dimension ] );
// Fall back to offsetWidth/offsetHeight when value is "auto" // Fall back to offsetWidth/offsetHeight when value is "auto"
// This happens for inline elements with no explicit setting (gh-3571) // This happens for inline elements with no explicit setting (gh-3571)
// Support: Android <=4.1 - 4.3 only // Support: Android <=4.1 - 4.3 only
// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
if ( val === "auto" || // Support: IE 9-11 only
!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { // Also use offsetWidth/offsetHeight for when box sizing is unreliable
// We use getClientRects() to check for hidden/disconnected.
// In those cases, the computed value can be trusted to be border-box
if ( ( !support.boxSizingReliable() && isBorderBox ||
val === "auto" ||
!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
elem.getClientRects().length ) {
val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
// offsetWidth/offsetHeight provide border-box values // Where available, offsetWidth/offsetHeight approximate border box dimensions.
valueIsBorderBox = true; // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
// retrieved value as a content box dimension.
valueIsBorderBox = offsetProp in elem;
if ( valueIsBorderBox ) {
val = elem[ offsetProp ];
}
} }
// Normalize "" and auto // Normalize "" and auto
@@ -6424,6 +6626,13 @@ jQuery.extend( {
"flexGrow": true, "flexGrow": true,
"flexShrink": true, "flexShrink": true,
"fontWeight": true, "fontWeight": true,
"gridArea": true,
"gridColumn": true,
"gridColumnEnd": true,
"gridColumnStart": true,
"gridRow": true,
"gridRowEnd": true,
"gridRowStart": true,
"lineHeight": true, "lineHeight": true,
"opacity": true, "opacity": true,
"order": true, "order": true,
@@ -6479,7 +6688,9 @@ jQuery.extend( {
} }
// If a number was passed in, add the unit (except for certain CSS properties) // If a number was passed in, add the unit (except for certain CSS properties)
if ( type === "number" ) { // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
// "px" to a few hardcoded values.
if ( type === "number" && !isCustomProp ) {
value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
} }
@@ -6579,18 +6790,29 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) {
set: function( elem, value, extra ) { set: function( elem, value, extra ) {
var matches, var matches,
styles = getStyles( elem ), styles = getStyles( elem ),
isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
subtract = extra && boxModelAdjustment( // Only read styles.position if the test has a chance to fail
elem, // to avoid forcing a reflow.
dimension, scrollboxSizeBuggy = !support.scrollboxSize() &&
extra, styles.position === "absolute",
isBorderBox,
styles // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
); boxSizingNeeded = scrollboxSizeBuggy || extra,
isBorderBox = boxSizingNeeded &&
jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
subtract = extra ?
boxModelAdjustment(
elem,
dimension,
extra,
isBorderBox,
styles
) :
0;
// Account for unreliable border-box dimensions by comparing offset* to computed and // Account for unreliable border-box dimensions by comparing offset* to computed and
// faking a content-box to get border and padding (gh-3699) // faking a content-box to get border and padding (gh-3699)
if ( isBorderBox && support.scrollboxSize() === styles.position ) { if ( isBorderBox && scrollboxSizeBuggy ) {
subtract -= Math.ceil( subtract -= Math.ceil(
elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
parseFloat( styles[ dimension ] ) - parseFloat( styles[ dimension ] ) -
@@ -7646,6 +7868,10 @@ jQuery.param = function( a, traditional ) {
encodeURIComponent( value == null ? "" : value ); encodeURIComponent( value == null ? "" : value );
}; };
if ( a == null ) {
return "";
}
// If an array was passed in, assume that it is an array of form elements. // If an array was passed in, assume that it is an array of form elements.
if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+9 -9
View File
@@ -73,9 +73,9 @@
<!--Setup applicazione--> <!--Setup applicazione-->
<add key="CodModulo" value="GMW" /> <add key="CodModulo" value="GMW" />
<add key="_titoloPagina" value="GMW - Gruppo Mazzucconi S.p.A, portale Gestione Magazzino Web" /> <add key="_titoloPagina" value="GMW - Gruppo Mazzucconi S.p.A, portale Gestione Magazzino Web" />
<add key="titleApp" value="GMW - SAN POSSIDONIO" /> <add key="titleApp" value="GMW - Tekal" />
<add key="appName" value="GMW" /> <add key="appName" value="GMW" />
<add key="SiteName" value="San Possidonio" /> <add key="SiteName" value="Tekal" />
<add key="copyRight" value="SteamWare © 2010" /> <add key="copyRight" value="SteamWare © 2010" />
<add key="_safePages" value="jumper.aspx#unauthorized.aspx#allegati.aspx#forceUser.aspx#login.aspx#test.aspx#istruzioni.aspx#Test.aspx#ErrorCodes.aspx" /> <add key="_safePages" value="jumper.aspx#unauthorized.aspx#allegati.aspx#forceUser.aspx#login.aspx#test.aspx#istruzioni.aspx#Test.aspx#ErrorCodes.aspx" />
<!--<add key="_commonPages" value="menu.aspx#chLang.aspx" />--> <!--<add key="_commonPages" value="menu.aspx#chLang.aspx" />-->
@@ -182,7 +182,7 @@
<add key="extBCodeUrl" value="http://IIS02/GMW-UT/BCodeCall.aspx?valore={0}" /> <add key="extBCodeUrl" value="http://IIS02/GMW-UT/BCodeCall.aspx?valore={0}" />
<!--setup gestione stampa postazione cartellini--> <!--setup gestione stampa postazione cartellini-->
<add key="keepParticolareSel" value="true" /> <add key="keepParticolareSel" value="true" />
<add key="keepKitAnimeSel" value="false" /> <add key="keepKitAnimeSel" value="true" />
<!--area deroghe speciali--> <!--area deroghe speciali-->
<add key="codPartTrattDeroga" value="#1GRZ02810000#1GRZ03950000#1GRZ03960000#" /> <add key="codPartTrattDeroga" value="#1GRZ02810000#1GRZ03950000#1GRZ03960000#" />
<!--area stampe reporting services--> <!--area stampe reporting services-->
@@ -197,15 +197,15 @@
<add key="owin:AutomaticAppStartup" value="false" /> <add key="owin:AutomaticAppStartup" value="false" />
<!--Sviluppo TK = Initial Catalog=TK_GMW--> <!--Sviluppo TK = Initial Catalog=TK_GMW-->
<!--Sviluppo SP = Initial Catalog=GMW--> <!--Sviluppo SP = Initial Catalog=GMW-->
<add key="DbConfConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" /> <add key="DbConfConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=TK_GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="GMWConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" /> <add key="GMWConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=TK_GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="SP_produzioneConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=SP_Produzione;Persist Security Info=True;User ID=connGMW;Password=steamware" /> <add key="SP_produzioneConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=ProduzionePossidonio;Persist Security Info=True;User ID=connGMW;Password=steamware" />
<add key="PermessiConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" /> <add key="PermessiConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=TK_GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="UtenteCdcConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=GMW_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16;" /> <add key="UtenteCdcConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=GMW_Anagrafica;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="VocabolarioConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" /> <add key="VocabolarioConnectionString" value="Data Source=SQL2012DEV;Initial Catalog=TK_GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
</appSettings> </appSettings>
<connectionStrings> <connectionStrings>
<add name="GMW_data.Properties.Settings.GMWConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" /> <add name="GMW_data.Properties.Settings.GMWConnectionString" connectionString="Data Source=SQL2012DEV;Initial Catalog=TK_GMW;Persist Security Info=True;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
</connectionStrings> </connectionStrings>
<system.webServer> <system.webServer>
<modules runAllManagedModulesForAllRequests="true"> <modules runAllManagedModulesForAllRequests="true">
+222 -7
View File
@@ -19,7 +19,7 @@
<system.web> <system.web>
<identity /> <identity />
<authentication mode="Windows" /> <authentication mode="Windows" />
<globalization culture="it-IT" enableClientBasedCulture="true" uiCulture="auto" /> <globalization culture="IT-it" enableClientBasedCulture="true" uiCulture="IT-it" />
<httpRuntime targetFramework="4.6.2" /> <httpRuntime targetFramework="4.6.2" />
<pages> <pages>
<namespaces> <namespaces>
@@ -54,6 +54,14 @@
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" /> <add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false" /> <add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false" />
<add key="redisDb" value="3" /> <add key="redisDb" value="3" />
<add key="cacheOnRedis" value="true" />
<!--area logger-->
<add key="_logDir" value="~/logs/" />
<add key="enableDumpDiag" value="false" />
<add key="doShrinkFolder" value="true" />
<add key="_logLevel" value="6" />
<add key="_logMaxMb" value="30" />
<add key="logMitigSec" value="30" />
<!--Impostazione gestione serializzazione variabili in sessione (es per Redis)--> <!--Impostazione gestione serializzazione variabili in sessione (es per Redis)-->
<add key="serializeSession" value="true" /> <add key="serializeSession" value="true" />
<!--<add key="disable_singleton" value="true" />--> <!--<add key="disable_singleton" value="true" />-->
@@ -97,11 +105,6 @@
<!--<add key="attrOpAuth" value="OC" />--> <!--<add key="attrOpAuth" value="OC" />-->
<!--area temp--> <!--area temp-->
<add key="maxAgeTempAreaHours" value="24" /> <add key="maxAgeTempAreaHours" value="24" />
<!--area logger-->
<add key="_logDir" value="~/logs/" />
<add key="doShrinkFolder" value="true" />
<add key="_logLevel" value="6" />
<add key="_logMaxMb" value="30" />
<!--Default values vari--> <!--Default values vari-->
<add key="NumX" value="10" /> <add key="NumX" value="10" />
<add key="NumY" value="5" /> <add key="NumY" value="5" />
@@ -221,6 +224,218 @@
</system.webServer> </system.webServer>
<runtime> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XmlSerializer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="CC7B13FFCD2DDD51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Overlapped" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.RegularExpressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.SecureString" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Principal" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Algorithms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Xml" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.3.0" newVersion="4.1.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Serialization.Json" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Numerics" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Resources.ResourceManager" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Sockets" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Requests" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Primitives" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.NetworkInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Queryable" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Parallel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq.Expressions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Linq" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="B77A5C561934E089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization.Extensions" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Globalization" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Dynamic.Runtime" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tracing" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Tools" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Debug" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.Contracts" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.EventBasedAsync" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Concurrent" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="B03F5F7F11D50A3A" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" /> <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
@@ -308,4 +523,4 @@
</handlers> </handlers>
</system.webServer> </system.webServer>
</location> </location>
</configuration> </configuration>
Binary file not shown.
BIN
View File
Binary file not shown.
+4 -4
View File
@@ -3,16 +3,16 @@
<package id="AjaxControlToolkit" version="18.1.1" targetFramework="net462" /> <package id="AjaxControlToolkit" version="18.1.1" targetFramework="net462" />
<package id="AjaxMin" version="5.14.5506.26202" targetFramework="net462" /> <package id="AjaxMin" version="5.14.5506.26202" targetFramework="net462" />
<package id="Antlr" version="3.5.0.2" targetFramework="net462" /> <package id="Antlr" version="3.5.0.2" targetFramework="net462" />
<package id="AspNet.ScriptManager.bootstrap" version="4.2.1" targetFramework="net462" /> <package id="AspNet.ScriptManager.bootstrap" version="4.3.1" targetFramework="net462" />
<package id="AspNet.ScriptManager.jQuery" version="3.3.1" targetFramework="net462" /> <package id="AspNet.ScriptManager.jQuery" version="3.4.1" targetFramework="net462" />
<package id="AspNet.ScriptManager.jQuery.UI.Combined" version="1.12.1" targetFramework="net462" /> <package id="AspNet.ScriptManager.jQuery.UI.Combined" version="1.12.1" targetFramework="net462" />
<package id="bootstrap" version="4.2.1" targetFramework="net462" /> <package id="bootstrap" version="4.3.1" targetFramework="net462" />
<package id="Bootstrap.Switch" version="3.3.2.1" targetFramework="net462" /> <package id="Bootstrap.Switch" version="3.3.2.1" targetFramework="net462" />
<package id="elmah" version="1.2.2" targetFramework="net462" /> <package id="elmah" version="1.2.2" targetFramework="net462" />
<package id="elmah.corelibrary" version="1.2.2" targetFramework="net462" /> <package id="elmah.corelibrary" version="1.2.2" targetFramework="net462" />
<package id="FontAwesome" version="4.7.0" targetFramework="net462" /> <package id="FontAwesome" version="4.7.0" targetFramework="net462" />
<package id="HtmlAgilityPack" version="1.8.14" targetFramework="net462" /> <package id="HtmlAgilityPack" version="1.8.14" targetFramework="net462" />
<package id="jQuery" version="3.3.1" targetFramework="net462" /> <package id="jQuery" version="3.4.1" targetFramework="net462" />
<package id="jQuery.UI.Combined" version="1.12.1" targetFramework="net462" /> <package id="jQuery.UI.Combined" version="1.12.1" targetFramework="net462" />
<package id="jQuery.UI.i18n" version="1.10.2" targetFramework="net462" /> <package id="jQuery.UI.i18n" version="1.10.2" targetFramework="net462" />
<package id="Microsoft.AspNet.FriendlyUrls" version="1.0.2" targetFramework="net462" /> <package id="Microsoft.AspNet.FriendlyUrls" version="1.0.2" targetFramework="net462" />
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-117
View File
@@ -1,117 +0,0 @@
function Get-Checksum($file) {
$cryptoProvider = New-Object "System.Security.Cryptography.MD5CryptoServiceProvider"
$fileInfo = Get-Item $file
trap { ;
continue } $stream = $fileInfo.OpenRead()
if ($? -eq $false) {
# Couldn't open file for reading
return $null
}
$bytes = $cryptoProvider.ComputeHash($stream)
$checksum = ''
foreach ($byte in $bytes) {
$checksum += $byte.ToString('x2')
}
$stream.Close() | Out-Null
return $checksum
}
function AddOrUpdate-Reference($scriptsFolderProjectItem, $fileNamePattern, $newFileName) {
try {
$referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js")
}
catch {
# _references.js file not found
return
}
if ($referencesFileProjectItem -eq $null) {
# _references.js file not found
return
}
$referencesFilePath = $referencesFileProjectItem.FileNames(1)
$referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js"
if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 0) {
# File has no existing matching reference line
# Add the full reference line to the beginning of the file
"/// <reference path=""$newFileName"" />" | Add-Content $referencesTempFilePath -Encoding UTF8
Get-Content $referencesFilePath | Add-Content $referencesTempFilePath
}
else {
# Loop through file and replace old file name with new file name
Get-Content $referencesFilePath | ForEach-Object { $_ -replace $fileNamePattern, $newFileName } > $referencesTempFilePath
}
# Copy over the new _references.js file
Copy-Item $referencesTempFilePath $referencesFilePath -Force
Remove-Item $referencesTempFilePath -Force
}
function Remove-Reference($scriptsFolderProjectItem, $fileNamePattern) {
try {
$referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js")
}
catch {
# _references.js file not found
return
}
if ($referencesFileProjectItem -eq $null) {
return
}
$referencesFilePath = $referencesFileProjectItem.FileNames(1)
$referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js"
if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 1) {
# Delete the line referencing the file
Get-Content $referencesFilePath | ForEach-Object { if (-not ($_ -match $fileNamePattern)) { $_ } } > $referencesTempFilePath
# Copy over the new _references.js file
Copy-Item $referencesTempFilePath $referencesFilePath -Force
Remove-Item $referencesTempFilePath -Force
}
}
function Delete-ProjectItem($item) {
$itemDeleted = $false
for ($1=1; $i -le 5; $i++) {
try {
$item.Delete()
$itemDeleted = $true
break
}
catch {
# Try again in 200ms
[System.Threading.Thread]::Sleep(200)
}
}
if ($itemDeleted -eq $false) {
throw "Unable to delete project item after five attempts."
}
}
# Extract the version number from the jquery file in the package's content\scripts folder
$packageScriptsFolder = Join-Path $installPath Content\Scripts
$jqueryFileName = Join-Path $packageScriptsFolder "jquery-*.js" | Get-ChildItem -Exclude "*.min.js","*-vsdoc.js","*.slim.js" | Split-Path -Leaf
$jqueryFileNameRegEx = "jquery-((?:\d+\.)?(?:\d+\.)?(?:\d+\.)?(?:\d+)).js"
$jqueryFileName -match $jqueryFileNameRegEx
$ver = $matches[1]
$intelliSenseFileName = "jquery-$ver.intellisense.js"
# Get the project item for the scripts folder
try {
$scriptsFolderProjectItem = $project.ProjectItems.Item("Scripts")
$projectScriptsFolderPath = $scriptsFolderProjectItem.FileNames(1)
}
catch {
# No Scripts folder
Write-Host "No scripts folder found"
}
-41
View File
@@ -1,41 +0,0 @@
param($installPath, $toolsPath, $package, $project)
. (Join-Path $toolsPath common.ps1)
# VS 11 and above supports the new intellisense JS files
$vsVersion = [System.Version]::Parse($dte.Version)
$supportsJsIntelliSenseFile = $vsVersion.Major -ge 11
if (-not $supportsJsIntelliSenseFile) {
$displayVersion = $vsVersion.Major
Write-Host "IntelliSense JS files are not supported by your version of Visual Studio: $displayVersion"
exit
}
if ($scriptsFolderProjectItem -eq $null) {
# No Scripts folder
Write-Host "No Scripts folder found"
exit
}
# Delete the vsdoc file from the project
try {
$vsDocProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("jquery-$ver-vsdoc.js")
Delete-ProjectItem $vsDocProjectItem
}
catch {
Write-Host "Error deleting vsdoc file: " + $_.Exception -ForegroundColor Red
exit
}
# Copy the intellisense file to the project from the tools folder
$intelliSenseFileSourcePath = Join-Path $toolsPath $intelliSenseFileName
try {
$scriptsFolderProjectItem.ProjectItems.AddFromFileCopy($intelliSenseFileSourcePath)
}
catch {
# This will throw if the file already exists, so we need to catch here
}
# Update the _references.js file
AddOrUpdate-Reference $scriptsFolderProjectItem $jqueryFileNameRegEx $jqueryFileName
File diff suppressed because it is too large Load Diff
-41
View File
@@ -1,41 +0,0 @@
param($installPath, $toolsPath, $package, $project)
. (Join-Path $toolsPath common.ps1)
# Determine the file paths
$projectIntelliSenseFilePath = Join-Path $projectScriptsFolderPath $intelliSenseFileName
$origIntelliSenseFilePath = Join-Path $toolsPath $intelliSenseFileName
if (Test-Path $projectIntelliSenseFilePath) {
if ((Get-Checksum $projectIntelliSenseFilePath) -eq (Get-Checksum $origIntelliSenseFilePath)) {
# The intellisense file in the project matches the file in the tools folder, delete it
if ($scriptsFolderProjectItem -eq $null) {
# No Scripts folder
exit
}
try {
# Get the project item for the intellisense file
$intelliSenseFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item($intelliSenseFileName)
}
catch {
# The item wasn't found
exit
}
# Delete the project item
Delete-ProjectItem $intelliSenseFileProjectItem
}
else {
$projectScriptsFolderLeaf = Split-Path $projectScriptsFolderPath -Leaf
Write-Host "Skipping '$projectScriptsFolderLeaf\$intelliSenseFileName' because it was modified." -ForegroundColor Magenta
}
}
else {
# The intellisense file was not found in project
Write-Host "The intellisense file was not found in project at path $projectIntelliSenseFilePath"
}
# Update the _references.js file
Remove-Reference $scriptsFolderProjectItem $jqueryFileNameRegEx
Binary file not shown.