merkle-open / aem-generic-multifield

Generic Multifield component dialog extension for AEM
MIT License
15 stars 6 forks source link

Generic-multifield(4.0.0) still not working properly in tablet viewport #64

Closed QmmParkett closed 6 months ago

QmmParkett commented 6 months ago

Hello, I was closely following the resolve of https://github.com/merkle-open/aem-generic-multifield/issues/38, that you fixed in release 4.0.0. I migrated to this version and there were some improvements, but there is still an issue in smaller viewports ( VP < 1024). The issues before: If you had a large textarea and a multi-field component in the same dialog - the text area was missing and not interactable - this was fixed! You could not click on the add(+) button of the multi-field - this is also fixed! The issues now: Once you click on the add(+) on the multi field, in my case I have a new dialog with a big text area, this text area is now not visible and interactable . Also the OOTB adobe Save and Cancel dialog in the bottom of the form get transferred to the top of the dialog( this is okey) in the form of X and / ( tick) ( this is also okey) the issues with these new buttons are. First of all - if you click on any one of them - they close both the edit dialogs ( the main one in which the have the multi field and the dialog of the multi field itself). The 2nd issue is - the tick (/) Done checkmark saves the dialog even if there were fields with a mandatory check and were left empty, so the button can save invalid data to the multi field fields. Screenshot 2024-04-05 at 9 32 30

MichaelHeil commented 6 months ago

Hello @QmmParkett , Thank you for your inputs.

  1. A general note on the way the granite dialog works for viewports smaller than 1024 px. It is the OOTB behavior that all dialog views now correspond to URLs and page loads rather than same page modals. There is no fix to this issue and simply the stack that adobe has decided to go for here. It will not be the intention of the generic multifield to go above and beyond the inherited behavior of the parent granite implementation. As a consequence, each confirmation of the dialog within the viewport will force you to re-enter the dialog view.
  2. When you refer to "big text area" which is no longer visible, are you referring to a RTE configuration? I would kindly ask you to share the dialog definition of the component which includes/defines the generic multifield definition as well as the dialog item definition. Also, please confirm that this is being tested on a AEM as a cloud service SDK with min version (not older than) 2023.12.0
  3. Your screenshot somewhat indicates to me the possibility that not all necessary steps of the release notes have been applied. Please assure that you follow the steps indicated in the breaking changes note: https://github.com/merkle-open/aem-generic-multifield/releases/tag/4.0.0

regards, Michael

QmmParkett commented 6 months ago

Hello @MichaelHeil, Regarding the 1st point - just to make sure I understand you correctly, in smaller VP any button clicked will result in a saving of the dialog successfully, no matter if the validations are not met ? Regarding the 2nd point I am using Adobe Experience Manager 2023.9.13420.20230907T185228Z-230800 and yes I am referring to a RTE configuration. I am attaching the content.xml-s for both the parent component and the multifield component. parentComponent.txt child.txt Regarding point 3 I followed the steps very closely. The pom version is updated to 4.0.0 Screenshot 2024-04-05 at 16 15 43 The old bundle was uninstalled Screenshot 2024-04-05 at 16 16 49 The new bundle is installed Screenshot 2024-04-05 at 16 18 05 and the old namics folder under /apps in CRX was deleted and a new folder merkle was created Screenshot 2024-04-05 at 16 19 30 regards, Simeon

MichaelHeil commented 6 months ago

Hello @QmmParkett

  1. No, of course validation is NOT being skipped. As stated, in that viewport, every dialog confirmation (saving the dialog successfully) will result in a page reload and the parent dialog of the item dialog is not reopened.
  2. There seems to be a clear issue with your local setup. Maybe even just caching somewhere. Maybe it's best if you tested on a vanilla instance. The RTE has no issues working in that viewport. Also, we consider it best practice to have a dedicated tab for the RTE element (with not other properties within that same tab). I have added and example component. It includes 3x TODOs which need to be resolved before working. Then it will serve you as an example implementation.

rtetest.zip example

MichaelHeil commented 6 months ago

Can not be reproduced -> closing issue

QmmParkett commented 6 months ago

Hi, so I updated my local AEM instance to the March release and I imported your component to my codebase and tested with it. I am attaching a video this time, so that the issues at hand are better visible

https://github.com/merkle-open/aem-generic-multifield/assets/24268262/c4fab40a-5b65-4724-bed0-868f2b074d9c

https://github.com/merkle-open/aem-generic-multifield/assets/24268262/d664d9f3-30d7-4087-a47f-8c8825a934c6

MichaelHeil commented 6 months ago

Hello @QmmParkett,

Please showcase this issue on a vanilla instance within a WKND tenant and WKND template.

regards, Michael