Code Monkey home page Code Monkey logo

aem-generic-multifield's People

Contributors

darkobill avatar markusheer avatar michaelheil avatar mkiti avatar namicsmachine avatar sigmaschin avatar suciua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aem-generic-multifield's Issues

Improvement for nested generic multifields

In order to add items in a nested generic multifield, the parent item has to be saved first. Otherwise the generic multifield won't create the nested item.

One possible solution could be:

  1. when adding an item, always create the item node
  2. if the user clicks on "cancel" then delete it again

Ghost nodes displayed within list

When a node is removed for a live copy it is not actually removed from JCR. It removes all the properties for this node and sets "sling:resourceType" property for it equal to "wcm/msm/components/ghost":

224681348-9f983f60-11b3-4789-97dd-78ad4cbab6c5

MSM ghost node is needed in author for re-enabling inheritance in future.
https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/issue-with-wcm-msm-components-ghost/m-p/371261

The Generic Multifield widget shows those "ghost" nodes but they cannot be removed:

224681955-9b053a80-f25b-4928-ba60-d7b731375339

The solution is to exclude the nodes and not show them in the widget.

unable to save the changed policy from the policy dropdown in AEM 6.5.5

Hi,

I'm using gernericmultifield and getting console error while switching and saving the policy in design dialog.
unable to save the changed policy from the policy dropdown AEM 6.5(selected new option from the dropdown).

1.added generic multifield to design dialog
2.at least maintain 2 policies.
3. try to change the policy option from the dropdown option.
4.check are you able to submit the dialog design dialog successfully.

generic multifiled policy change issue

Within AEMaaCS, the min-max validation mechanics break

When the Min or Max threshold of the items is being reached, the warning message informing the user of the error, closes the component dialog. In some occasion, even a page refresh is being forced (circumstances for this issue are not found out yet)

max_entries_example_REC.mp4

Generic Multifield store itemnode below

Hi
we just about migrating to aem 6.5 and use the generic multifield. With this version and aem 6.5 it doesn't work anymore.

When I open the dialog in the author (see 2020-03-20 11_56_31-Autoversicherung_ Jetzt Prämie berechnen _ Helvetia.ch.png)
2020-03-20 11_56_31-Autoversicherung_ Jetzt Prämie berechnen _ Helvetia ch, no items are displayed. But there should be (see
2020-03-20 11_47_50-CRXDE Lite)

If I add an item in the dialog (see
2020-03-20 11_50_15-Autoversicherung_ Jetzt Prämie berechnen _ Helvetia ch, the item is displayed in the dialog. The node I created is
2020-03-20 11_51_23-CRXDE Lite locate "/items/3_1584700968848" here.

The dialog looks like:

The dependency looks like:

com.namics.oss.aem
genericmultifield
3.0.0

Can you please have a look. I didn't change our code. I only upgraded to aem 6.5 and version 3.0.0 of the generic-multifield.

Thanks in advance.

Listener "REFRESH_PAGE" not working with generic multifield

The file _cq_editConfig.xml of a component can contain the page refresh listener:
<cq:listeners ... afteredit="REFRESH_PAGE" />

Normally after closing the dialog, the page should get refreshed. But if a dialog of the generic multifield has been opened during editing, nothing happens after closing the component's dialog.

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

Hello, I was closely following the resolve of #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

Within AEMaaCS, the required validation mechanics break

1.The required validation forces multiple error lines. The error of the dialog is being manipulated to many times. Also, the validation seems to be triggered before the item dialog is "opened". Not when the item dialog is being "saved/confirmed". Example given:

  • min elements of 2 being set for generic multifield
  • adding 1 item
  • adding a second item -> cancel the dialog of creating the second item
  • error state is set
  • cancel the component dialog
  • additional error state is set
  • any other required field fast it's error message set multiple times.
error_validation_example_REC.mp4
  1. In addition, when the required state is fulfilled, the error state is not being removed again, as the "update" manipulation does not seem to work anymore.
error_validation_not_removed_example_REC.mp4

Generic-multifield not working properly in tablet viewport

I'm having a problem with generic-mutifield in table or smaller viewport

Steps to reproduce:

  1. Reduce the browser window by half to force the AEM dialogs to open in full mode.
  2. Verify generic-mutifield fields are not initialized for editing.
  3. Check JS error:

multifield-issue

  1. Unfortunately I don't have a chance to test the issue in AEM 6.5, but it is valid for AEMaaCS(2022.10.9398.20221020T071514Z-220900) and aem-generic-multifield 3.1 release

'ESC' Key on item dialog generates empty entry

When an item dialog of the generic multifield is being closed/canceled via the "ESC" key, the new node is not being removed again from the repo as it would be on "cancel" button. Hence a item is being added to the field without any properties set.

image

Granite multifield is not working properly with genericmultifield in the same dialog

I'm having an issue when I try to use genericmultifield and granite/ui/components/coral/foundation/form/multifield in the same dialog.

When I edit an item from genericmultifield and if I have a granite multifield in the same dialog, the fields from granite multifield gets updated with a new value for the name;

Below you can see the field name before updating an item:
before-update

And here you can see it after editing an item
after-update

The field path is updated from: ./pages/item0/./linkUrl to ./pages/item0/./pages/item0/./linkUrl

My code:

<genericmultifield
    jcr:primaryType="nt:unstructured"
    sling:resourceType="namics/genericmultifield"
    fieldLabel="Teaser Items"
    itemDialog="/apps/website/components/content/standardteaser/teaseritemdialog"
    itemStorageNode="items"
    itemNameProperty="textarea"
    name="./items"/>
<teaserpages
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
    composite="{Boolean}true"
    fieldLabel="Teaser Pages">
  <field
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/coral/foundation/container"
    name="./pages">
    <items
        jcr:primaryType="nt:unstructured">
        <linkurl
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/coral/foundation/form/pathbrowser"
            name="./linkUrl"
            rootPath="/content"/>
    </items>
  </field>
</teaserpages>

I'm using AEM version 6.5.4.

Generic multifield not usable in page properties dialogs

When the generic multifield is used within a dialog which is loaded under /mnt/overlay/ errors occur.

  • In the page wizard the items are stored under a wrong path (e.g. /libs/*).
  • When authoring on a mobile device (or small browser width) the item dialog is not loaded.

Node names are not correct

Hi,

For some reason, nodes in JCR which correspond to multifield entries are created with some generic names, eg. 14_1559297980446.

What I can see from the screenshot on the home page is that these node names should be equal to a value of some property, and the property name is set via itemNameProperty attribute.

Environment: Adobe Experience Manager (6.4.3.0)

Here's the sample code:

<locations
jcr:primaryType="nt:unstructured"
sling:resourceType="namics/genericmultifield"
cq:showOnCreate="{Boolean}true"
fieldLabel="Locations"
itemDialog="/apps/<proj>/<some_page_component>/sub_dialog"
itemNameProperty="locationName"
itemStorageNode="locations"
maxElements="99"
name="./locations"/>

Entry definition:

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" 
	xmlns:jcr="http://www.jcp.org/jcr/1.0"
	xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
	xmlns:granite="http://www.adobe.com/jcr/granite/1.0"
		  jcr:primaryType="nt:unstructured"
		  jcr:title="Location"
		  sling:resourceType="cq/gui/components/authoring/dialog">
	<content
		jcr:primaryType="nt:unstructured"
		sling:resourceType="granite/ui/components/foundation/container">
		<items jcr:primaryType="nt:unstructured">
			<column
				jcr:primaryType="nt:unstructured"
				sling:resourceType="granite/ui/components/coral/foundation/container">
				<items jcr:primaryType="nt:unstructured">
					<locationName
						jcr:primaryType="nt:unstructured"
						sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
						fieldLabel="Location Name"
						name="./locationName"
						required="{Boolean}true"/>
					<street
						jcr:primaryType="nt:unstructured"
				sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
						fieldLabel="Street"
						name="./street"/>
					<!-- etc. -->
				</items>
			</column>
		</items>
	</content>
</jcr:root>

Strange behaviour if multiple coral dialogs are present in mark-up

The generic multifield dialog handler restores the previous dialogs by using the CSS selector coral-dialog coral-dialog-content. The problem arises as soon as multiple dialogs match this selector. That's why the selector has to be changed to select only the dialog which is active (has class is-open).

jcr:mixinTypes shows up as an item - Filter out jcr system properties or arrays

Issue: If the storage node contains a multi value property , it gets picked up by the control and displayed as a list item.
For instance, if you create some content using generic multi field control and do a roll out. The rolled out content will contain jcr:mixinTypes as a multi value property (array when you ask for itemStorageNode json) and we end up with "jcr:mixinTypes" as the first item in the multi field list.
Please see the attached image.
namics

Release Notes

Include release notes for Cloud Version including breaking changes hint

  • "namics/generic.." -> "merkle/generic..."
  • delete "/apps/namics/genericmultifield" from Crx

Within AEMaaCS, the delete button mechanics break

When the user deletes an entry item, the button forces the dialog to close. Many of these dialog open and close issues starting occurring, once the buttons UI have been updated from coral 3 to coral spectrum pattern

delete_example_REC.mp4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.