From fe514c6529954f2ccbb4ceba229ace6915dd40a6 Mon Sep 17 00:00:00 2001 From: Iwona Just Date: Fri, 9 Feb 2024 07:54:38 +0000 Subject: [PATCH 1/8] report newLocation error in asset slideout --- src/elements/Asset.php | 3 +++ src/helpers/Cp.php | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/elements/Asset.php b/src/elements/Asset.php index 6aac6001e35..3435fdca5c7 100644 --- a/src/elements/Asset.php +++ b/src/elements/Asset.php @@ -2674,6 +2674,9 @@ protected function metaFieldsHtml(bool $static): string 'required' => true, 'class' => ['text', 'filename'], 'disabled' => $static, + 'data' => [ + 'attribute' => 'newLocation', + ], ]), parent::metaFieldsHtml($static), ]); diff --git a/src/helpers/Cp.php b/src/helpers/Cp.php index 4d2a0ab60c7..8800143fab0 100644 --- a/src/helpers/Cp.php +++ b/src/helpers/Cp.php @@ -777,7 +777,7 @@ public static function fieldHtml(string $input, array $config = []): string 'class' => $fieldClass, 'id' => $fieldId, 'data' => [ - 'attribute' => $attribute, + 'attribute' => $config['data']['attribute'] ?? $attribute, ], ], $config['fieldAttributes'] ?? [] From 5e14cef6346752d7d80a33068d1305050ee7e847 Mon Sep 17 00:00:00 2001 From: Iwona Just Date: Mon, 12 Feb 2024 08:35:56 +0000 Subject: [PATCH 2/8] different approach --- src/elements/Asset.php | 4 +--- src/helpers/Cp.php | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/elements/Asset.php b/src/elements/Asset.php index 3435fdca5c7..4bed2f5f070 100644 --- a/src/elements/Asset.php +++ b/src/elements/Asset.php @@ -2666,6 +2666,7 @@ protected function metaFieldsHtml(bool $static): string return implode("\n", [ Cp::textFieldHtml([ 'label' => Craft::t('app', 'Filename'), + 'attribute' => 'newLocation', 'id' => 'new-filename', 'name' => 'newFilename', 'value' => $this->_filename, @@ -2674,9 +2675,6 @@ protected function metaFieldsHtml(bool $static): string 'required' => true, 'class' => ['text', 'filename'], 'disabled' => $static, - 'data' => [ - 'attribute' => 'newLocation', - ], ]), parent::metaFieldsHtml($static), ]); diff --git a/src/helpers/Cp.php b/src/helpers/Cp.php index 8800143fab0..4d2a0ab60c7 100644 --- a/src/helpers/Cp.php +++ b/src/helpers/Cp.php @@ -777,7 +777,7 @@ public static function fieldHtml(string $input, array $config = []): string 'class' => $fieldClass, 'id' => $fieldId, 'data' => [ - 'attribute' => $config['data']['attribute'] ?? $attribute, + 'attribute' => $attribute, ], ], $config['fieldAttributes'] ?? [] From 99ba1f10006808758940990917e9f54cbf6142da Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Tue, 13 Feb 2024 11:14:15 -0800 Subject: [PATCH 3/8] Release note [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a97dc84d8fd..42cfde39db1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Fixed a bug where read/write splitting was always getting disabled for GraphQL POST requests. ([#14324](https://github.com/craftcms/cms/issues/14324)) - Fixed a bug where GraphQL schema edit pages could include empty category headings. +- Fixed a bug where asset slideouts weren’t showing validation errors on the Filename field. ([#14329](https://github.com/craftcms/cms/issues/14329)) ## 4.7.2.1 - 2024-02-08 From bbb43b895914f8f9f0eee6fee5f4d9d6310b3c22 Mon Sep 17 00:00:00 2001 From: brandonkelly Date: Tue, 13 Feb 2024 14:38:35 -0800 Subject: [PATCH 4/8] Adapt #14357 for element select inputs [ci skip] --- CHANGELOG.md | 1 + src/web/assets/cp/dist/cp.js | 2 +- src/web/assets/cp/dist/cp.js.map | 2 +- src/web/assets/cp/src/js/BaseElementSelectInput.js | 5 +++++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42cfde39db1..d6792c47df5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Fixed a bug where read/write splitting was always getting disabled for GraphQL POST requests. ([#14324](https://github.com/craftcms/cms/issues/14324)) - Fixed a bug where GraphQL schema edit pages could include empty category headings. - Fixed a bug where asset slideouts weren’t showing validation errors on the Filename field. ([#14329](https://github.com/craftcms/cms/issues/14329)) +- Fixed a bug where element slideouts would open when long-pressing on an element’s “Remove” button within an element select input. ## 4.7.2.1 - 2024-02-08 diff --git a/src/web/assets/cp/dist/cp.js b/src/web/assets/cp/dist/cp.js index 7eceab91e12..e98eec41c76 100644 --- a/src/web/assets/cp/dist/cp.js +++ b/src/web/assets/cp/dist/cp.js @@ -1,3 +1,3 @@ /*! For license information please see cp.js.LICENSE.txt */ -(function(){var __webpack_modules__={463:function(){Craft.Accordion=Garnish.Base.extend({$trigger:null,targetSelector:null,_$target:null,init:function(t){var e=this;this.$trigger=$(t),this.$trigger.data("accordion")&&(console.warn("Double-instantiating an accordion trigger on an element"),this.$trigger.data("accordion").destroy()),this.$trigger.data("accordion",this),this.targetSelector=this.$trigger.attr("aria-controls")?"#".concat(this.$trigger.attr("aria-controls")):null,this.targetSelector&&(this._$target=$(this.targetSelector)),this.addListener(this.$trigger,"click","onTriggerClick"),this.addListener(this.$trigger,"keypress",(function(t){var i=t.keyCode;i!==Garnish.SPACE_KEY&&i!==Garnish.RETURN_KEY||(t.preventDefault(),e.onTriggerClick())}))},onTriggerClick:function(){"true"===this.$trigger.attr("aria-expanded")?this.hideTarget(this._$target):this.showTarget(this._$target)},showTarget:function(t){var e=this;if(t&&t.length){this.showTarget._currentHeight=t.height(),t.removeClass("hidden"),this.$trigger.removeClass("collapsed").addClass("expanded").attr("aria-expanded","true");for(var i=0;i .address-card");for(var s=0;s=this.settings.maxItems)){var e=$(t).appendTo(this.$tbody),i=e.find(".delete");this.settings.sortable&&this.sorter.addItems(e),this.$deleteBtns=this.$deleteBtns.add(i),this.addListener(i,"click","handleDeleteBtnClick"),this.totalItems++,this.updateUI()}},reorderItems:function(){var t=this;if(this.settings.sortable){for(var e=[],i=0;i=this.settings.maxItems?$(this.settings.newItemBtnSelector).addClass("hidden"):$(this.settings.newItemBtnSelector).removeClass("hidden"))}},{defaults:{tableSelector:null,noItemsSelector:null,newItemBtnSelector:null,idAttribute:"data-id",nameAttribute:"data-name",sortable:!1,allowDeleteAll:!0,minItems:0,maxItems:null,reorderAction:null,deleteAction:null,reorderSuccessMessage:Craft.t("app","New order saved."),reorderFailMessage:Craft.t("app","Couldn’t save new order."),confirmDeleteMessage:Craft.t("app","Are you sure you want to delete “{name}”?"),deleteSuccessMessage:Craft.t("app","“{name}” deleted."),deleteFailMessage:Craft.t("app","Couldn’t delete “{name}”."),onReorderItems:$.noop,onDeleteItem:$.noop}})},6872:function(){Craft.AssetImageEditor=Garnish.Modal.extend({$body:null,$footer:null,$imageTools:null,$buttons:null,$cancelBtn:null,$replaceBtn:null,$saveBtn:null,$focalPointBtn:null,$editorContainer:null,$straighten:null,$croppingCanvas:null,$spinner:null,$constraintContainer:null,$constraintRadioInputs:null,$customConstraints:null,canvas:null,image:null,viewport:null,focalPoint:null,grid:null,croppingCanvas:null,clipper:null,croppingRectangle:null,cropperHandles:null,cropperGrid:null,croppingShade:null,imageStraightenAngle:0,viewportRotation:0,originalWidth:0,originalHeight:0,imageVerticeCoords:null,zoomRatio:1,animationInProgress:!1,currentView:"",assetId:null,cacheBust:null,draggingCropper:!1,scalingCropper:!1,draggingFocal:!1,previousMouseX:0,previousMouseY:0,shiftKeyHeld:!1,editorHeight:0,editorWidth:0,cropperState:!1,scaleFactor:1,flipData:{},focalPointState:!1,maxImageSize:null,lastLoadedDimensions:null,imageIsLoading:!1,mouseMoveEvent:null,croppingConstraint:!1,constraintOrientation:"landscape",showingCustomConstraint:!1,saving:!1,renderImage:null,renderCropper:null,_queue:null,init:function(t,e){var i=this;this._queue=new Craft.Queue,this.cacheBust=Date.now(),this.setSettings(e,Craft.AssetImageEditor.defaults),null===this.settings.allowDegreeFractions&&(this.settings.allowDegreeFractions=Craft.isImagick),Garnish.prefersReducedMotion()&&(this.settings.animationDuration=1),this.assetId=t,this.flipData={x:0,y:0},this.$container=$('').appendTo(Garnish.$bod),this.$body=$('
').appendTo(this.$container),this.$footer=$('