From 62702e8da2f11eb6f17b8450200c917bf203fd48 Mon Sep 17 00:00:00 2001 From: Iwona Just Date: Mon, 19 Aug 2024 08:20:49 +0100 Subject: [PATCH 1/5] escape the heading that shows inside default values --- src/web/assets/tablesettings/src/TableFieldSettings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/web/assets/tablesettings/src/TableFieldSettings.js b/src/web/assets/tablesettings/src/TableFieldSettings.js index 01d564e7ade..c5923514658 100644 --- a/src/web/assets/tablesettings/src/TableFieldSettings.js +++ b/src/web/assets/tablesettings/src/TableFieldSettings.js @@ -173,7 +173,7 @@ theadHtml += '' + (this.columnsData[colId].heading - ? this.columnsData[colId].heading + ? Craft.escapeHtml(this.columnsData[colId].heading) : ' ') + ''; } From 7669d547faf53619f7bbfc218c381ab3c41dd18d Mon Sep 17 00:00:00 2001 From: Iwona Just Date: Mon, 19 Aug 2024 08:25:48 +0100 Subject: [PATCH 2/5] build --- src/web/assets/tablesettings/dist/TableFieldSettings.js | 2 +- src/web/assets/tablesettings/dist/TableFieldSettings.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/assets/tablesettings/dist/TableFieldSettings.js b/src/web/assets/tablesettings/dist/TableFieldSettings.js index 7af527e24fd..340037e2fbd 100644 --- a/src/web/assets/tablesettings/dist/TableFieldSettings.js +++ b/src/web/assets/tablesettings/dist/TableFieldSettings.js @@ -1,2 +1,2 @@ -!function(t){Craft.TableFieldSettings=Garnish.Base.extend({columnsTableName:null,defaultsTableName:null,columnsData:null,columnsTableId:null,defaultsTableId:null,columnsTableInputPath:null,defaultsTableInputPath:null,defaults:null,columnSettings:null,dropdownSettingsHtml:null,dropdownSettingsCols:null,columnsTable:null,defaultsTable:null,init:function(t,e,s,i,a,n,l){this.columnsTableName=t,this.defaultsTableName=e,this.columnsData=s,this.columnsTableId=Craft.formatInputId(this.columnsTableName),this.defaultsTableId=Craft.formatInputId(this.defaultsTableName),this.columnsTableInputPath=Craft.filterArray(this.columnsTableName.split(/[\[\]]+/)),this.defaultsTableInputPath=Craft.filterArray(this.defaultsTableName.split(/[\[\]]+/)),this.defaults=i,this.columnSettings=a,this.dropdownSettingsHtml=n,this.dropdownSettingsCols=l,this.initColumnsTable(),this.initDefaultsTable()},initColumnsTable:function(){this.columnsTable=new e(this,this.columnsTableId,this.columnsTableName,this.columnSettings,{rowIdPrefix:"col",defaultValues:{type:"singleline"},allowAdd:!0,allowReorder:!0,allowDelete:!0,lazyInitRows:!1,onAddRow:this.onAddColumn.bind(this),onDeleteRow:this.reconstructDefaultsTable.bind(this)})},initDefaultsTable:function(){this.defaultsTable=new Craft.EditableTable(this.defaultsTableId,this.defaultsTableName,this.columnsData,{rowIdPrefix:"row",allowAdd:!0,allowReorder:!0,allowDelete:!0})},onAddColumn:function(t){this.reconstructDefaultsTable(),this.initColumnSettingInputs(t)},initColumnSettingInputs:function(t){var e=t.find("td:first-child textarea, td:nth-child(3) textarea");this.addListener(e,"input","reconstructDefaultsTable")},reconstructDefaultsTable:function(){this.columnsData=Craft.expandPostArray(Garnish.getPostData(this.columnsTable.$tbody));var e=Craft.expandPostArray(Garnish.getPostData(this.defaultsTable.$tbody));if(!Object.keys(this.columnsData).length){for(var s=this.defaultsTable.$tbody.children(),i=0;i",{id:this.defaultsTableId,class:"editable fullwidth"});if(Object.values(this.columnsData).some((function(t){return""!==t.heading}))){var r="";for(var c in this.columnsData)this.columnsData.hasOwnProperty(c)&&(r+=''+(this.columnsData[c].heading?this.columnsData[c].heading:" ")+"");""!==r&&(r+='',u.append("".concat(r,"")))}var f=t("").appendTo(u);for(var b in e)e.hasOwnProperty(b)&&Craft.EditableTable.createRow(b,this.columnsData,this.defaultsTableName,e[b],!0,!0).appendTo(f);this.defaultsTable.$table.replaceWith(u),this.defaultsTable.destroy(),delete this.defaultsTable,this.initDefaultsTable()}});var e=Craft.EditableTable.extend({fieldSettings:null,init:function(t,e,s,i,a){this.fieldSettings=t,this.base(e,s,i,a)},initialize:function(){return!!this.base()&&(this.fieldSettings.initColumnSettingInputs(this.$tbody),this.sorter.settings.onSortChange=this.fieldSettings.reconstructDefaultsTable.bind(this.fieldSettings),!0)},createRowObj:function(t){return new e.Row(this,t)}});e.Row=Craft.EditableTable.Row.extend({$typeSelect:null,$settingsBtn:null,options:null,settingsModal:null,optionsTable:null,init:function(e,s){this.base(e,s),this.table.fieldSettings.columnsData[this.id]&&(this.options=this.table.fieldSettings.columnsData[this.id].options||null);var i=this.$tr.find("td:nth-child(4)"),a=i.find(".select");this.$settingsBtn=i.find(".settings"),this.$settingsBtn.length||(this.$settingsBtn=t("",{class:"settings light invisible",role:"button","data-icon":"settings"}),t("
",{class:"flex flex-nowrap"}).appendTo(i).append(a).append(this.$settingsBtn)),this.$typeSelect=a.find("select"),this.addListener(this.$typeSelect,"change","handleTypeChange"),this.addListener(this.$settingsBtn,"click","showSettingsModal"),this.addListener(this.$tr.closest("form"),"submit","handleFormSubmit")},handleTypeChange:function(){"select"===this.$typeSelect.val()?this.$settingsBtn.removeClass("invisible"):this.$settingsBtn.addClass("invisible"),this.table.fieldSettings.reconstructDefaultsTable()},showSettingsModal:function(e){var s=this;if(this.settingsModal)this.settingsModal.show();else{var i="dropdownsettingsmodal"+Math.floor(1e6*Math.random()),a=t("
",{class:"modal dropdownsettingsmodal"}).appendTo(Garnish.$bod),n=t("
",{class:"body"}).appendTo(a).html(this.table.fieldSettings.dropdownSettingsHtml.replace(/__ID__/g,i));if(this.optionsTable=new Craft.EditableTable(i,"__NAME__",this.table.fieldSettings.dropdownSettingsCols,{allowAdd:!0,allowDelete:!0,allowReorder:!0,onAddRow:this.handleOptionsRowChange.bind(this),onDeleteRow:this.handleOptionsRowChange.bind(this)}),this.options&&this.options.length)for(var l=0;l",{type:"button",class:"btn submit",text:Craft.t("app","Done")}).appendTo(n);this.settingsModal=new Garnish.Modal(a,{onHide:this.handleSettingsModalHide.bind(this)}),this.addListener(d,"click",(function(){this.settingsModal.hide()}))}setTimeout((function(){s.optionsTable.$tbody.find("textarea").first().focus()}),100)},handleOptionsRowChange:function(){this.settingsModal&&this.settingsModal.updateSizeAndPosition()},handleSettingsModalHide:function(){this.options=[];for(var t=this.optionsTable.$table.find("tbody tr"),e=0;e",{type:"hidden",name:this.table.fieldSettings.columnsTableName+"["+this.id+"][options]",value:JSON.stringify(this.options)}).appendTo(e.currentTarget)}})}(jQuery); +!function(t){Craft.TableFieldSettings=Garnish.Base.extend({columnsTableName:null,defaultsTableName:null,columnsData:null,columnsTableId:null,defaultsTableId:null,columnsTableInputPath:null,defaultsTableInputPath:null,defaults:null,columnSettings:null,dropdownSettingsHtml:null,dropdownSettingsCols:null,columnsTable:null,defaultsTable:null,init:function(t,e,s,a,i,n,l){this.columnsTableName=t,this.defaultsTableName=e,this.columnsData=s,this.columnsTableId=Craft.formatInputId(this.columnsTableName),this.defaultsTableId=Craft.formatInputId(this.defaultsTableName),this.columnsTableInputPath=Craft.filterArray(this.columnsTableName.split(/[\[\]]+/)),this.defaultsTableInputPath=Craft.filterArray(this.defaultsTableName.split(/[\[\]]+/)),this.defaults=a,this.columnSettings=i,this.dropdownSettingsHtml=n,this.dropdownSettingsCols=l,this.initColumnsTable(),this.initDefaultsTable()},initColumnsTable:function(){this.columnsTable=new e(this,this.columnsTableId,this.columnsTableName,this.columnSettings,{rowIdPrefix:"col",defaultValues:{type:"singleline"},allowAdd:!0,allowReorder:!0,allowDelete:!0,lazyInitRows:!1,onAddRow:this.onAddColumn.bind(this),onDeleteRow:this.reconstructDefaultsTable.bind(this)})},initDefaultsTable:function(){this.defaultsTable=new Craft.EditableTable(this.defaultsTableId,this.defaultsTableName,this.columnsData,{rowIdPrefix:"row",allowAdd:!0,allowReorder:!0,allowDelete:!0})},onAddColumn:function(t){this.reconstructDefaultsTable(),this.initColumnSettingInputs(t)},initColumnSettingInputs:function(t){var e=t.find("td:first-child textarea, td:nth-child(3) textarea");this.addListener(e,"input","reconstructDefaultsTable")},reconstructDefaultsTable:function(){this.columnsData=Craft.expandPostArray(Garnish.getPostData(this.columnsTable.$tbody));var e=Craft.expandPostArray(Garnish.getPostData(this.defaultsTable.$tbody));if(!Object.keys(this.columnsData).length){for(var s=this.defaultsTable.$tbody.children(),a=0;a",{id:this.defaultsTableId,class:"editable fullwidth"});if(Object.values(this.columnsData).some((function(t){return""!==t.heading}))){var r="";for(var c in this.columnsData)this.columnsData.hasOwnProperty(c)&&(r+=''+(this.columnsData[c].heading?Craft.escapeHtml(this.columnsData[c].heading):" ")+"");""!==r&&(r+='',u.append("".concat(r,"")))}var f=t("").appendTo(u);for(var b in e)e.hasOwnProperty(b)&&Craft.EditableTable.createRow(b,this.columnsData,this.defaultsTableName,e[b],!0,!0).appendTo(f);this.defaultsTable.$table.replaceWith(u),this.defaultsTable.destroy(),delete this.defaultsTable,this.initDefaultsTable()}});var e=Craft.EditableTable.extend({fieldSettings:null,init:function(t,e,s,a,i){this.fieldSettings=t,this.base(e,s,a,i)},initialize:function(){return!!this.base()&&(this.fieldSettings.initColumnSettingInputs(this.$tbody),this.sorter.settings.onSortChange=this.fieldSettings.reconstructDefaultsTable.bind(this.fieldSettings),!0)},createRowObj:function(t){return new e.Row(this,t)}});e.Row=Craft.EditableTable.Row.extend({$typeSelect:null,$settingsBtn:null,options:null,settingsModal:null,optionsTable:null,init:function(e,s){this.base(e,s),this.table.fieldSettings.columnsData[this.id]&&(this.options=this.table.fieldSettings.columnsData[this.id].options||null);var a=this.$tr.find("td:nth-child(4)"),i=a.find(".select");this.$settingsBtn=a.find(".settings"),this.$settingsBtn.length||(this.$settingsBtn=t("",{class:"settings light invisible",role:"button","data-icon":"settings"}),t("
",{class:"flex flex-nowrap"}).appendTo(a).append(i).append(this.$settingsBtn)),this.$typeSelect=i.find("select"),this.addListener(this.$typeSelect,"change","handleTypeChange"),this.addListener(this.$settingsBtn,"click","showSettingsModal"),this.addListener(this.$tr.closest("form"),"submit","handleFormSubmit")},handleTypeChange:function(){"select"===this.$typeSelect.val()?this.$settingsBtn.removeClass("invisible"):this.$settingsBtn.addClass("invisible"),this.table.fieldSettings.reconstructDefaultsTable()},showSettingsModal:function(e){var s=this;if(this.settingsModal)this.settingsModal.show();else{var a="dropdownsettingsmodal"+Math.floor(1e6*Math.random()),i=t("
",{class:"modal dropdownsettingsmodal"}).appendTo(Garnish.$bod),n=t("
",{class:"body"}).appendTo(i).html(this.table.fieldSettings.dropdownSettingsHtml.replace(/__ID__/g,a));if(this.optionsTable=new Craft.EditableTable(a,"__NAME__",this.table.fieldSettings.dropdownSettingsCols,{allowAdd:!0,allowDelete:!0,allowReorder:!0,onAddRow:this.handleOptionsRowChange.bind(this),onDeleteRow:this.handleOptionsRowChange.bind(this)}),this.options&&this.options.length)for(var l=0;l",{type:"button",class:"btn submit",text:Craft.t("app","Done")}).appendTo(n);this.settingsModal=new Garnish.Modal(i,{onHide:this.handleSettingsModalHide.bind(this)}),this.addListener(d,"click",(function(){this.settingsModal.hide()}))}setTimeout((function(){s.optionsTable.$tbody.find("textarea").first().focus()}),100)},handleOptionsRowChange:function(){this.settingsModal&&this.settingsModal.updateSizeAndPosition()},handleSettingsModalHide:function(){this.options=[];for(var t=this.optionsTable.$table.find("tbody tr"),e=0;e",{type:"hidden",name:this.table.fieldSettings.columnsTableName+"["+this.id+"][options]",value:JSON.stringify(this.options)}).appendTo(e.currentTarget)}})}(jQuery); //# sourceMappingURL=TableFieldSettings.js.map \ No newline at end of file diff --git a/src/web/assets/tablesettings/dist/TableFieldSettings.js.map b/src/web/assets/tablesettings/dist/TableFieldSettings.js.map index d1209603a11..ab05c78620a 100644 --- a/src/web/assets/tablesettings/dist/TableFieldSettings.js.map +++ b/src/web/assets/tablesettings/dist/TableFieldSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"TableFieldSettings.js","mappings":"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","sources":["webpack:///./TableFieldSettings.js"],"sourcesContent":["(function ($) {\n /** global: Craft */\n /** global: Garnish */\n Craft.TableFieldSettings = Garnish.Base.extend({\n columnsTableName: null,\n defaultsTableName: null,\n columnsData: null,\n columnsTableId: null,\n defaultsTableId: null,\n columnsTableInputPath: null,\n defaultsTableInputPath: null,\n\n defaults: null,\n columnSettings: null,\n\n dropdownSettingsHtml: null,\n dropdownSettingsCols: null,\n\n columnsTable: null,\n defaultsTable: null,\n\n init: function (\n columnsTableName,\n defaultsTableName,\n columnsData,\n defaults,\n columnSettings,\n dropdownSettingsHtml,\n dropdownSettingsCols\n ) {\n this.columnsTableName = columnsTableName;\n this.defaultsTableName = defaultsTableName;\n this.columnsData = columnsData;\n\n this.columnsTableId = Craft.formatInputId(this.columnsTableName);\n this.defaultsTableId = Craft.formatInputId(this.defaultsTableName);\n\n this.columnsTableInputPath = Craft.filterArray(\n this.columnsTableName.split(/[\\[\\]]+/)\n );\n this.defaultsTableInputPath = Craft.filterArray(\n this.defaultsTableName.split(/[\\[\\]]+/)\n );\n\n this.defaults = defaults;\n this.columnSettings = columnSettings;\n\n this.dropdownSettingsHtml = dropdownSettingsHtml;\n this.dropdownSettingsCols = dropdownSettingsCols;\n\n this.initColumnsTable();\n this.initDefaultsTable();\n },\n\n initColumnsTable: function () {\n this.columnsTable = new ColumnTable(\n this,\n this.columnsTableId,\n this.columnsTableName,\n this.columnSettings,\n {\n rowIdPrefix: 'col',\n defaultValues: {\n type: 'singleline',\n },\n allowAdd: true,\n allowReorder: true,\n allowDelete: true,\n lazyInitRows: false,\n onAddRow: this.onAddColumn.bind(this),\n onDeleteRow: this.reconstructDefaultsTable.bind(this),\n }\n );\n },\n\n initDefaultsTable: function () {\n this.defaultsTable = new Craft.EditableTable(\n this.defaultsTableId,\n this.defaultsTableName,\n this.columnsData,\n {\n rowIdPrefix: 'row',\n allowAdd: true,\n allowReorder: true,\n allowDelete: true,\n }\n );\n },\n\n onAddColumn: function ($tr) {\n this.reconstructDefaultsTable();\n this.initColumnSettingInputs($tr);\n },\n\n initColumnSettingInputs: function ($container) {\n const $textareas = $container.find(\n 'td:first-child textarea, td:nth-child(3) textarea'\n );\n this.addListener($textareas, 'input', 'reconstructDefaultsTable');\n },\n\n reconstructDefaultsTable: function () {\n this.columnsData = Craft.expandPostArray(\n Garnish.getPostData(this.columnsTable.$tbody)\n );\n let defaults = Craft.expandPostArray(\n Garnish.getPostData(this.defaultsTable.$tbody)\n );\n\n // If there are no columns, drop the defaults table rows and disable add row button\n if (!Object.keys(this.columnsData).length) {\n const $rows = this.defaultsTable.$tbody.children();\n for (let r = 0; r < $rows.length; r++) {\n this.defaultsTable.deleteRow(\n this.defaultsTable.createRowObj($rows[r])\n );\n }\n this.defaultsTable.$addRowBtn.css('opacity', '0.2');\n this.defaultsTable.$addRowBtn.css('pointer-events', 'none');\n return;\n }\n\n for (let i = 0; i < this.columnsTableInputPath.length; i++) {\n const key = this.columnsTableInputPath[i];\n if (typeof this.columnsData[key] !== 'undefined') {\n this.columnsData = this.columnsData[key];\n }\n }\n\n // Add in the dropdown options\n for (let colId in this.columnsData) {\n if (this.columnsData.hasOwnProperty(colId)) {\n switch (this.columnsData[colId].type) {\n case 'select':\n const rowObj = this.columnsTable.getRowObj(\n this.columnsTable.$tbody.find(`tr[data-id=\"${colId}\"]`)\n );\n this.columnsData[colId].options = rowObj.options || [];\n break;\n case 'heading':\n // Replace with singleline\n this.columnsData[colId].type = 'singleline';\n this.columnsData[colId].class = 'heading';\n break;\n }\n }\n }\n\n for (let i = 0; i < this.defaultsTableInputPath.length; i++) {\n const key = this.defaultsTableInputPath[i];\n\n if (typeof defaults[key] === 'undefined') {\n defaults = {};\n break;\n } else {\n defaults = defaults[key];\n }\n }\n\n const $table = $('', {\n id: this.defaultsTableId,\n class: 'editable fullwidth',\n });\n\n if (Object.values(this.columnsData).some((c) => c.heading !== '')) {\n let theadHtml = '';\n\n for (let colId in this.columnsData) {\n if (!this.columnsData.hasOwnProperty(colId)) {\n continue;\n }\n\n theadHtml +=\n '';\n }\n\n if (theadHtml !== '') {\n theadHtml += '';\n $table.append(`${theadHtml}`);\n }\n }\n\n const $tbody = $('').appendTo($table);\n\n for (let rowId in defaults) {\n if (!defaults.hasOwnProperty(rowId)) {\n continue;\n }\n\n Craft.EditableTable.createRow(\n rowId,\n this.columnsData,\n this.defaultsTableName,\n defaults[rowId],\n true,\n true\n ).appendTo($tbody);\n }\n\n this.defaultsTable.$table.replaceWith($table);\n this.defaultsTable.destroy();\n delete this.defaultsTable;\n this.initDefaultsTable();\n },\n });\n\n const ColumnTable = Craft.EditableTable.extend({\n fieldSettings: null,\n\n init: function (fieldSettings, id, baseName, columns, settings) {\n this.fieldSettings = fieldSettings;\n this.base(id, baseName, columns, settings);\n },\n\n initialize: function () {\n if (!this.base()) {\n return false;\n }\n\n this.fieldSettings.initColumnSettingInputs(this.$tbody);\n this.sorter.settings.onSortChange =\n this.fieldSettings.reconstructDefaultsTable.bind(this.fieldSettings);\n return true;\n },\n\n createRowObj: function ($tr) {\n return new ColumnTable.Row(this, $tr);\n },\n });\n\n ColumnTable.Row = Craft.EditableTable.Row.extend({\n $typeSelect: null,\n $settingsBtn: null,\n\n options: null,\n settingsModal: null,\n optionsTable: null,\n\n init: function (table, tr) {\n this.base(table, tr);\n\n if (this.table.fieldSettings.columnsData[this.id]) {\n this.options =\n this.table.fieldSettings.columnsData[this.id].options || null;\n }\n\n const $typeCell = this.$tr.find('td:nth-child(4)');\n const $typeSelectContainer = $typeCell.find('.select');\n this.$settingsBtn = $typeCell.find('.settings');\n\n if (!this.$settingsBtn.length) {\n this.$settingsBtn = $('', {\n class: 'settings light invisible',\n role: 'button',\n 'data-icon': 'settings',\n });\n $('
', {class: 'flex flex-nowrap'})\n .appendTo($typeCell)\n .append($typeSelectContainer)\n .append(this.$settingsBtn);\n }\n\n this.$typeSelect = $typeSelectContainer.find('select');\n this.addListener(this.$typeSelect, 'change', 'handleTypeChange');\n this.addListener(this.$settingsBtn, 'click', 'showSettingsModal');\n\n this.addListener(this.$tr.closest('form'), 'submit', 'handleFormSubmit');\n },\n\n handleTypeChange: function () {\n if (this.$typeSelect.val() === 'select') {\n this.$settingsBtn.removeClass('invisible');\n } else {\n this.$settingsBtn.addClass('invisible');\n }\n\n this.table.fieldSettings.reconstructDefaultsTable();\n },\n\n showSettingsModal: function (ev) {\n if (!this.settingsModal) {\n const id =\n 'dropdownsettingsmodal' + Math.floor(Math.random() * 1000000);\n const $modal = $('
', {\n class: 'modal dropdownsettingsmodal',\n }).appendTo(Garnish.$bod);\n const $body = $('
', {class: 'body'})\n .appendTo($modal)\n .html(\n this.table.fieldSettings.dropdownSettingsHtml.replace(/__ID__/g, id)\n );\n\n this.optionsTable = new Craft.EditableTable(\n id,\n '__NAME__',\n this.table.fieldSettings.dropdownSettingsCols,\n {\n allowAdd: true,\n allowDelete: true,\n allowReorder: true,\n onAddRow: this.handleOptionsRowChange.bind(this),\n onDeleteRow: this.handleOptionsRowChange.bind(this),\n }\n );\n\n if (this.options && this.options.length) {\n for (let i = 0; i < this.options.length; i++) {\n const row = this.optionsTable.addRow(false);\n row.$tr.find('.option-label textarea').val(this.options[i].label);\n row.$tr.find('.option-value textarea').val(this.options[i].value);\n row.$tr\n .find('.option-default input[type=\"checkbox\"]')\n .prop('checked', !!this.options[i].default);\n }\n } else {\n this.optionsTable.addRow(false);\n }\n\n const $closeButton = $('
' +\n (this.columnsData[colId].heading\n ? this.columnsData[colId].heading\n : ' ') +\n '
', {\n id: this.defaultsTableId,\n class: 'editable fullwidth',\n });\n\n if (Object.values(this.columnsData).some((c) => c.heading !== '')) {\n let theadHtml = '';\n\n for (let colId in this.columnsData) {\n if (!this.columnsData.hasOwnProperty(colId)) {\n continue;\n }\n\n theadHtml +=\n '';\n }\n\n if (theadHtml !== '') {\n theadHtml += '';\n $table.append(`${theadHtml}`);\n }\n }\n\n const $tbody = $('').appendTo($table);\n\n for (let rowId in defaults) {\n if (!defaults.hasOwnProperty(rowId)) {\n continue;\n }\n\n Craft.EditableTable.createRow(\n rowId,\n this.columnsData,\n this.defaultsTableName,\n defaults[rowId],\n true,\n true\n ).appendTo($tbody);\n }\n\n this.defaultsTable.$table.replaceWith($table);\n this.defaultsTable.destroy();\n delete this.defaultsTable;\n this.initDefaultsTable();\n },\n });\n\n const ColumnTable = Craft.EditableTable.extend({\n fieldSettings: null,\n\n init: function (fieldSettings, id, baseName, columns, settings) {\n this.fieldSettings = fieldSettings;\n this.base(id, baseName, columns, settings);\n },\n\n initialize: function () {\n if (!this.base()) {\n return false;\n }\n\n this.fieldSettings.initColumnSettingInputs(this.$tbody);\n this.sorter.settings.onSortChange =\n this.fieldSettings.reconstructDefaultsTable.bind(this.fieldSettings);\n return true;\n },\n\n createRowObj: function ($tr) {\n return new ColumnTable.Row(this, $tr);\n },\n });\n\n ColumnTable.Row = Craft.EditableTable.Row.extend({\n $typeSelect: null,\n $settingsBtn: null,\n\n options: null,\n settingsModal: null,\n optionsTable: null,\n\n init: function (table, tr) {\n this.base(table, tr);\n\n if (this.table.fieldSettings.columnsData[this.id]) {\n this.options =\n this.table.fieldSettings.columnsData[this.id].options || null;\n }\n\n const $typeCell = this.$tr.find('td:nth-child(4)');\n const $typeSelectContainer = $typeCell.find('.select');\n this.$settingsBtn = $typeCell.find('.settings');\n\n if (!this.$settingsBtn.length) {\n this.$settingsBtn = $('', {\n class: 'settings light invisible',\n role: 'button',\n 'data-icon': 'settings',\n });\n $('
', {class: 'flex flex-nowrap'})\n .appendTo($typeCell)\n .append($typeSelectContainer)\n .append(this.$settingsBtn);\n }\n\n this.$typeSelect = $typeSelectContainer.find('select');\n this.addListener(this.$typeSelect, 'change', 'handleTypeChange');\n this.addListener(this.$settingsBtn, 'click', 'showSettingsModal');\n\n this.addListener(this.$tr.closest('form'), 'submit', 'handleFormSubmit');\n },\n\n handleTypeChange: function () {\n if (this.$typeSelect.val() === 'select') {\n this.$settingsBtn.removeClass('invisible');\n } else {\n this.$settingsBtn.addClass('invisible');\n }\n\n this.table.fieldSettings.reconstructDefaultsTable();\n },\n\n showSettingsModal: function (ev) {\n if (!this.settingsModal) {\n const id =\n 'dropdownsettingsmodal' + Math.floor(Math.random() * 1000000);\n const $modal = $('
', {\n class: 'modal dropdownsettingsmodal',\n }).appendTo(Garnish.$bod);\n const $body = $('
', {class: 'body'})\n .appendTo($modal)\n .html(\n this.table.fieldSettings.dropdownSettingsHtml.replace(/__ID__/g, id)\n );\n\n this.optionsTable = new Craft.EditableTable(\n id,\n '__NAME__',\n this.table.fieldSettings.dropdownSettingsCols,\n {\n allowAdd: true,\n allowDelete: true,\n allowReorder: true,\n onAddRow: this.handleOptionsRowChange.bind(this),\n onDeleteRow: this.handleOptionsRowChange.bind(this),\n }\n );\n\n if (this.options && this.options.length) {\n for (let i = 0; i < this.options.length; i++) {\n const row = this.optionsTable.addRow(false);\n row.$tr.find('.option-label textarea').val(this.options[i].label);\n row.$tr.find('.option-value textarea').val(this.options[i].value);\n row.$tr\n .find('.option-default input[type=\"checkbox\"]')\n .prop('checked', !!this.options[i].default);\n }\n } else {\n this.optionsTable.addRow(false);\n }\n\n const $closeButton = $('
"),n=s.children()[0];return t("body").append(s),i=n.offsetWidth,s.css("overflow","scroll"),i===(a=n.offsetWidth)&&(a=s[0].clientWidth),s.remove(),e=i-a},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),a=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),s="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:d<0?"top":l>0?"bottom":"middle"};hi(a(l),a(d))?u.important="horizontal":u.important="vertical",e.using.call(this,t,u)}),r.offset(t.extend(C,{using:n}))}))},t.ui.position={fit:{left:function(t,e){var a,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,r=s.width,o=t.left-e.collisionPosition.marginLeft,l=n-o,c=o+e.collisionWidth-r-n;e.collisionWidth>r?l>0&&c<=0?(a=t.left+l+e.collisionWidth-r-n,t.left+=l-a):t.left=c>0&&l<=0?n:l>c?n+r-e.collisionWidth:n:l>0?t.left+=l:c>0?t.left-=c:t.left=i(t.left-o,t.left)},top:function(t,e){var a,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,r=e.within.height,o=t.top-e.collisionPosition.marginTop,l=n-o,c=o+e.collisionHeight-r-n;e.collisionHeight>r?l>0&&c<=0?(a=t.top+l+e.collisionHeight-r-n,t.top+=l-a):t.top=c>0&&l<=0?n:l>c?n+r-e.collisionHeight:n:l>0?t.top+=l:c>0?t.top-=c:t.top=i(t.top-o,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,r=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,c=t.left-e.collisionPosition.marginLeft,d=c-l,u=c+e.collisionWidth-o-l,h="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,g=-2*e.offset[0];d<0?((i=t.left+h+p+g+e.collisionWidth-o-r)<0||i0&&((s=t.left-e.collisionPosition.marginLeft+h+p+g-l)>0||a(s)0&&((i=t.top-e.collisionPosition.marginTop+h+p+g-l)>0||a(i)0&&n.is(":visible")):(/^(input|select|textarea|button|object)$/.test(l)?(r=!e.disabled)&&(o=t(e).closest("fieldset")[0])&&(r=!o.disabled):r="a"===l&&e.href||i,r&&t(e).is(":visible")&&function(t){for(var e=t.css("visibility");"inherit"===e;)e=(t=t.parent()).css("visibility");return"visible"===e}(t(e)))},t.extend(t.expr.pseudos,{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.fn.scrollParent=function(e){var i=this.css("position"),a="absolute"===i,s=e?/(auto|scroll|hidden)/:/(auto|scroll)/,n=this.parents().filter((function(){var e=t(this);return(!a||"static"!==e.css("position"))&&s.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))})).eq(0);return"fixed"!==i&&n.length?n:t(this[0].ownerDocument||document)}})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../version","../keycode"],t):t(jQuery)}((function(t){"use strict";var e;function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=a(t("
"))}function a(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,(function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")})).on("mouseover",i,s)}function s(){t.datepicker._isDisabledDatepicker(e.inline?e.dpDiv.parent()[0]:e.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function n(e,i){for(var a in t.extend(e,i),i)null==i[a]&&(e[a]=i[a]);return e}return t.extend(t.ui,{datepicker:{version:"1.13.2"}}),t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var a,s,n;s="div"===(a=e.nodeName.toLowerCase())||"span"===a,e.id||(this.uuid+=1,e.id="dp"+this.uuid),(n=this._newInst(t(e),s)).settings=t.extend({},i||{}),"input"===a?this._connectDatepicker(e,n):s&&this._inlineDatepicker(e,n)},_newInst:function(e,i){return{id:e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(t("
")):this.dpDiv}},_connectDatepicker:function(e,i){var a=t(e);i.append=t([]),i.trigger=t([]),a.hasClass(this.markerClassName)||(this._attachments(a,i),a.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var a,s,n,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("").addClass(this._appendClass).text(r),e[o?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),"focus"!==(a=this._get(i,"showOn"))&&"both"!==a||e.on("focus",this._showDatepicker),"button"!==a&&"both"!==a||(s=this._get(i,"buttonText"),n=this._get(i,"buttonImage"),this._get(i,"buttonImageOnly")?i.trigger=t("").addClass(this._triggerClass).attr({src:n,alt:s,title:s}):(i.trigger=t("
' +\n (this.columnsData[colId].heading\n ? Craft.escapeHtml(this.columnsData[colId].heading)\n : ' ') +\n '
",T=h?"":"",w=0;w<7;w++)T+="";for(N+=T+"",Y=this._getDaysInMonth(et,tt),et===e.selectedYear&&tt===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,Y)),F=(this._getFirstDayOfMonth(et,tt)-u+7)%7,A=Math.ceil((F+Y)/7),E=X&&this.maxRows>A?this.maxRows:A,this.maxRows=E,W=this._daylightSavingAdjust(new Date(et,tt,1-F)),j=0;j",O=h?"":"",w=0;w<7;w++)L=_?_.apply(e.input?e.input[0]:null,[W]):[!0,""],H=(K=W.getMonth()!==tt)&&!D||!L[0]||G&&WZ,O+="",W.setDate(W.getDate()+1),W=this._daylightSavingAdjust(W);N+=O+""}++tt>11&&(tt=0,et++),M+=N+="
"+this._get(e,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+g[S]+"
"+this._get(e,"calculateWeek")(W)+""+(K&&!y?" ":H?""+W.getDate()+"":""+W.getDate()+"")+"
"+(X?"
"+(Q[0]>0&&C===Q[1]-1?"
":""):"")}v+=M}return v+=d,e._keyEvent=!1,v},_generateMonthYearHeader:function(t,e,i,a,s,n,r,o){var l,c,d,u,h,p,g,f,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),y=this._get(t,"showMonthAfterYear"),D=this._get(t,"selectMonthLabel"),k=this._get(t,"selectYearLabel"),v="
",w="";if(n||!m)w+=""+r[e]+"";else{for(l=a&&a.getFullYear()===i,c=s&&s.getFullYear()===i,w+=""}if(y||(v+=w+(!n&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",n||!_)v+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),h=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?h+parseInt(t,10):parseInt(t,10);return isNaN(e)?h:e},g=p(u[0]),f=Math.max(g,p(u[1]||"")),g=a?Math.max(g,a.getFullYear()):g,f=s?Math.min(f,s.getFullYear()):f,t.yearshtml+="",v+=t.yearshtml,t.yearshtml=null}return v+=this._get(t,"yearSuffix"),y&&(v+=(!n&&m&&_?"":" ")+w),v+"
"},_adjustInstDate:function(t,e,i){var a=t.selectedYear+("Y"===i?e:0),s=t.selectedMonth+("M"===i?e:0),n=Math.min(t.selectedDay,this._getDaysInMonth(a,s))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(a,s,n)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),s=i&&ea?a:s},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,a){var s=this._getNumberOfMonths(t),n=this._daylightSavingAdjust(new Date(i,a+(e<0?e:s[0]*s[1]),1));return e<0&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(t,n)},_isInRange:function(t,e){var i,a,s=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),r=null,o=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||e.getTime()>=s.getTime())&&(!n||e.getTime()<=n.getTime())&&(!r||e.getFullYear()>=r)&&(!o||e.getFullYear()<=o)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,a){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var s=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(a,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),s,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each((function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)})):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.13.2",t.datepicker})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],t):t(jQuery)}((function(t){"use strict";var e=!1;return t(document).on("mouseup",(function(){e=!1})),t.widget("ui.mouse",{version:"1.13.2",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,(function(t){return e._mouseDown(t)})).on("click."+this.widgetName,(function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1})),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var a=this,s=1===i.which,n=!("string"!=typeof this.options.cancel||!i.target.nodeName)&&t(i.target).closest(this.options.cancel).length;return!(s&&!n&&this._mouseCapture(i)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout((function(){a.mouseDelayMet=!0}),this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=!1!==this._mouseStart(i),!this._mouseStarted)?(i.preventDefault(),0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return a._mouseMove(t)},this._mouseUpDelegate=function(t){return a._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,0)))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(i){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,i.target===this._mouseDownEvent.target&&t.data(i.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(i)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,e=!1,i.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})); \ No newline at end of file +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}((function(t){"use strict";return t.ui=t.ui||{},t.ui.version="1.14.0"})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";var e,i=0,a=Array.prototype.hasOwnProperty,s=Array.prototype.slice;return t.cleanData=(e=t.cleanData,function(i){var a,s,n;for(n=0;null!=(s=i[n]);n++)(a=t._data(s,"events"))&&a.remove&&t(s).triggerHandler("remove");e(i)}),t.widget=function(e,i,a){var s,n,r,o={},l=e.split(".")[0],c=l+"-"+(e=e.split(".")[1]);return a||(a=i,i=t.Widget),Array.isArray(a)&&(a=t.extend.apply(null,[{}].concat(a))),t.expr.pseudos[c.toLowerCase()]=function(e){return!!t.data(e,c)},t[l]=t[l]||{},s=t[l][e],n=t[l][e]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},t.extend(n,s,{version:a.version,_proto:t.extend({},a),_childConstructors:[]}),(r=new i).options=t.widget.extend({},r.options),t.each(a,(function(t,e){o[t]="function"==typeof e?function(){function a(){return i.prototype[t].apply(this,arguments)}function s(e){return i.prototype[t].apply(this,e)}return function(){var t,i=this._super,n=this._superApply;return this._super=a,this._superApply=s,t=e.apply(this,arguments),this._super=i,this._superApply=n,t}}():e})),n.prototype=t.widget.extend(r,{widgetEventPrefix:s&&r.widgetEventPrefix||e},o,{constructor:n,namespace:l,widgetName:e,widgetFullName:c}),s?(t.each(s._childConstructors,(function(e,i){var a=i.prototype;t.widget(a.namespace+"."+a.widgetName,n,i._proto)})),delete s._childConstructors):i._childConstructors.push(n),t.widget.bridge(e,n),n},t.widget.extend=function(e){for(var i,n,r=s.call(arguments,1),o=0,l=r.length;o",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,a){a=t(a||this.defaultElement||this)[0],this.element=t(a),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},a!==this&&(t.data(a,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===a&&this.destroy()}}),this.document=t(a.style?a.ownerDocument:a.document||a),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,(function(t,i){e._removeClass(i,t)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var a,s,n,r=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(r={},a=e.split("."),e=a.shift(),a.length){for(s=r[e]=t.widget.extend({},this.options[e]),n=0;n
"),n=s.children()[0];return t("body").append(s),i=n.offsetWidth,s.css("overflow","scroll"),i===(a=n.offsetWidth)&&(a=s[0].clientWidth),s.remove(),e=i-a},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),a=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),s="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:d<0?"top":l>0?"bottom":"middle"};hi(a(l),a(d))?u.important="horizontal":u.important="vertical",e.using.call(this,t,u)}),r.offset(t.extend(C,{using:n}))}))},t.ui.position={fit:{left:function(t,e){var a,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,r=s.width,o=t.left-e.collisionPosition.marginLeft,l=n-o,c=o+e.collisionWidth-r-n;e.collisionWidth>r?l>0&&c<=0?(a=t.left+l+e.collisionWidth-r-n,t.left+=l-a):t.left=c>0&&l<=0?n:l>c?n+r-e.collisionWidth:n:l>0?t.left+=l:c>0?t.left-=c:t.left=i(t.left-o,t.left)},top:function(t,e){var a,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,r=e.within.height,o=t.top-e.collisionPosition.marginTop,l=n-o,c=o+e.collisionHeight-r-n;e.collisionHeight>r?l>0&&c<=0?(a=t.top+l+e.collisionHeight-r-n,t.top+=l-a):t.top=c>0&&l<=0?n:l>c?n+r-e.collisionHeight:n:l>0?t.top+=l:c>0?t.top-=c:t.top=i(t.top-o,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,r=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,c=t.left-e.collisionPosition.marginLeft,d=c-l,u=c+e.collisionWidth-o-l,h="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,g=-2*e.offset[0];d<0?((i=t.left+h+p+g+e.collisionWidth-o-r)<0||i0&&((s=t.left-e.collisionPosition.marginLeft+h+p+g-l)>0||a(s)0&&((i=t.top-e.collisionPosition.marginTop+h+p+g-l)>0||a(i)0&&n.is(":visible")):(/^(input|select|textarea|button|object)$/.test(l)?(r=!e.disabled)&&(o=t(e).closest("fieldset")[0])&&(r=!o.disabled):r="a"===l&&e.href||i,r&&t(e).is(":visible")&&"visible"===t(e).css("visibility"))},t.extend(t.expr.pseudos,{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.fn.scrollParent=function(e){var i=this.css("position"),a="absolute"===i,s=e?/(auto|scroll|hidden)/:/(auto|scroll)/,n=this.parents().filter((function(){var e=t(this);return(!a||"static"!==e.css("position"))&&s.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))})).eq(0);return"fixed"!==i&&n.length?n:t(this[0].ownerDocument||document)}})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../version","../keycode"],t):t(jQuery)}((function(t){"use strict";var e;function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=a(t("
"))}function a(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,(function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")})).on("mouseover",i,s)}function s(){t.datepicker._isDisabledDatepicker(e.inline?e.dpDiv.parent()[0]:e.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function n(e,i){for(var a in t.extend(e,i),i)null==i[a]&&(e[a]=i[a]);return e}return t.extend(t.ui,{datepicker:{version:"1.14.0"}}),t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var a,s,n;s="div"===(a=e.nodeName.toLowerCase())||"span"===a,e.id||(this.uuid+=1,e.id="dp"+this.uuid),(n=this._newInst(t(e),s)).settings=t.extend({},i||{}),"input"===a?this._connectDatepicker(e,n):s&&this._inlineDatepicker(e,n)},_newInst:function(e,i){return{id:e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?a(t("
")):this.dpDiv}},_connectDatepicker:function(e,i){var a=t(e);i.append=t([]),i.trigger=t([]),a.hasClass(this.markerClassName)||(this._attachments(a,i),a.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var a,s,n,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("").addClass(this._appendClass).text(r),e[o?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),"focus"!==(a=this._get(i,"showOn"))&&"both"!==a||e.on("focus",this._showDatepicker),"button"!==a&&"both"!==a||(s=this._get(i,"buttonText"),n=this._get(i,"buttonImage"),this._get(i,"buttonImageOnly")?i.trigger=t("").addClass(this._triggerClass).attr({src:n,alt:s,title:s}):(i.trigger=t("
"+(Q[0]>0&&C===Q[1]-1?"
":""):"")}v+=M}return v+=d,e._keyEvent=!1,v},_generateMonthYearHeader:function(t,e,i,a,s,n,r,o){var l,c,d,u,h,p,g,f,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),y=this._get(t,"showMonthAfterYear"),D=this._get(t,"selectMonthLabel"),k=this._get(t,"selectYearLabel"),v="
",w="";if(n||!m)w+=""+r[e]+"";else{for(l=a&&a.getFullYear()===i,c=s&&s.getFullYear()===i,w+=""}if(y||(v+=w+(!n&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",n||!_)v+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),h=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?h+parseInt(t,10):parseInt(t,10);return isNaN(e)?h:e},g=p(u[0]),f=Math.max(g,p(u[1]||"")),g=a?Math.max(g,a.getFullYear()):g,f=s?Math.min(f,s.getFullYear()):f,t.yearshtml+="",v+=t.yearshtml,t.yearshtml=null}return v+=this._get(t,"yearSuffix"),y&&(v+=(!n&&m&&_?"":" ")+w),v+"
"},_adjustInstDate:function(t,e,i){var a=t.selectedYear+("Y"===i?e:0),s=t.selectedMonth+("M"===i?e:0),n=Math.min(t.selectedDay,this._getDaysInMonth(a,s))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(a,s,n)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),s=i&&ea?a:s},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,a){var s=this._getNumberOfMonths(t),n=this._daylightSavingAdjust(new Date(i,a+(e<0?e:s[0]*s[1]),1));return e<0&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(t,n)},_isInRange:function(t,e){var i,a,s=this._getMinMaxDate(t,"min"),n=this._getMinMaxDate(t,"max"),r=null,o=null,l=this._get(t,"yearRange");return l&&(i=l.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||e.getTime()>=s.getTime())&&(!n||e.getTime()<=n.getTime())&&(!r||e.getFullYear()>=r)&&(!o||e.getFullYear()<=o)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,a){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var s=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(a,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),s,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each((function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)})):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.14.0",t.datepicker})),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../version","../widget"],t):t(jQuery)}((function(t){"use strict";var e=!1;return t(document).on("mouseup",(function(){e=!1})),t.widget("ui.mouse",{version:"1.14.0",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,(function(t){return e._mouseDown(t)})).on("click."+this.widgetName,(function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1})),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var a=this,s=1===i.which,n="string"==typeof this.options.cancel&&t(i.target).closest(this.options.cancel).length;return!(s&&!n&&this._mouseCapture(i)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout((function(){a.mouseDelayMet=!0}),this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=!1!==this._mouseStart(i),!this._mouseStarted)?(i.preventDefault(),0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return a._mouseMove(t)},this._mouseUpDelegate=function(t){return a._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,0)))}},_mouseMove:function(t){if(this._mouseMoved&&!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t);return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(i){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,i.target===this._mouseDownEvent.target&&t.data(i.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(i)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,e=!1,i.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})); \ No newline at end of file diff --git a/src/web/assets/jqueryui/dist/jquery-ui.js.LICENSE.txt b/src/web/assets/jqueryui/dist/jquery-ui.js.LICENSE.txt index 07d0ab7740a..0de5eb9673a 100644 --- a/src/web/assets/jqueryui/dist/jquery-ui.js.LICENSE.txt +++ b/src/web/assets/jqueryui/dist/jquery-ui.js.LICENSE.txt @@ -1,64 +1,64 @@ /*! - * jQuery UI Datepicker 1.13.2 - * http://jqueryui.com + * jQuery UI Datepicker 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license */ /*! - * jQuery UI Focusable 1.13.2 - * http://jqueryui.com + * jQuery UI Focusable 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license */ /*! - * jQuery UI Keycode 1.13.2 - * http://jqueryui.com + * jQuery UI Keycode 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license */ /*! - * jQuery UI Mouse 1.13.2 - * http://jqueryui.com + * jQuery UI Mouse 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license */ /*! - * jQuery UI Position 1.13.2 - * http://jqueryui.com + * jQuery UI Position 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license * - * http://api.jqueryui.com/position/ + * https://api.jqueryui.com/position/ */ /*! - * jQuery UI Scroll Parent 1.13.2 - * http://jqueryui.com + * jQuery UI Scroll Parent 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license */ /*! - * jQuery UI Widget 1.13.2 - * http://jqueryui.com + * jQuery UI Widget 1.14.0 + * https://jqueryui.com * - * Copyright jQuery Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license. - * http://jquery.org/license + * https://jquery.org/license */ From e8d2e8ab4c170ec73ad0e4d47c604f3dc710a08e Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Wed, 21 Aug 2024 14:46:48 -0400 Subject: [PATCH 5/5] Fixed #15559 --- CHANGELOG.md | 1 + src/migrations/Install.php | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60f859c5c4d..4a8b990a922 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Fixed a bug where `craft\helpers\App::env()` and `normalizeValue()` could return incorrect results for values that looked like floats. ([#15533](https://github.com/craftcms/cms/issues/15533)) - Fixed a bug where the `users/set-password` action wasn’t respecting `redirect` params. ([#15538](https://github.com/craftcms/cms/issues/15538)) - Fixed a bug where the “Default Values” Table field setting wasn’t escaping column headings. ([#15552](https://github.com/craftcms/cms/issues/15552)) +- Fixed a bug where Craft couldn’t be installed with existing project config files, if any plugins specified their schema version via `composer.json`. ([#15559](https://github.com/craftcms/cms/issues/15559)) ## 4.11.3 - 2024-08-13 diff --git a/src/migrations/Install.php b/src/migrations/Install.php index 39154597319..02b6c3bf56d 100644 --- a/src/migrations/Install.php +++ b/src/migrations/Install.php @@ -1201,8 +1201,13 @@ private function _validateProjectConfig(string &$error = null): bool return false; } - $pluginRef = new ReflectionClass($pluginInfo['class']); - $schemaVersion = $pluginRef->getProperty('schemaVersion')->getDefaultValue(); + if (isset($pluginInfo['schemaVersion'])) { + $schemaVersion = $pluginInfo['schemaVersion']; + } else { + $pluginRef = new ReflectionClass($pluginInfo['class']); + $schemaVersion = $pluginRef->getProperty('schemaVersion')->getDefaultValue(); + } + $expectedSchemaVersion = $pluginConfig['schemaVersion'] ?? null; if ($schemaVersion && $expectedSchemaVersion && $schemaVersion != $expectedSchemaVersion) {