Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

ExtJS-custom multifield component-node creation instead of property value in AEM 5.6.1

Avatar

Level 4

I am currently working on a project where i will need to implement custom multifield component. I am really specific about the fact that i need to create nodes (which can be any number) when user specifies a value instead of key, value property.

I have currently added a pathField and a textbox.. which will be loaded using HTTP GET and when the user tries to input a value i would HTTP post from my custom extjs.

As shown in the attachment  i would prefer the LHS to store entered values in nodes instead of RHS. I have created the component of the following structure

The  http calls will be made  and will not insert to jcr:content or any other path i've decided to remove the node reference "./multishort" below?

Request you to please help in this regard.

Note:the Above details are in the attachment with the screen shot.

1 Accepted Solution

Avatar

Correct answer by
Level 10

 In your example, you named your multi-field ./multishort in the dialog property. Each time a user adds a new multifield  by clicking the Add Item on your dialog:

[img]multixtype.png[/img]

AEM controls defined in your custom xtype is displayed. That is -- objects defined in:

 Ejst.CustomWidget = CQ.Ext.extend(CQ.form.CompositeField)

are displayed. A user using your component will enter values into the controls in each multi-field. You can read back the values in the component's JSP by using node application logic. However - to read these values back - you need to reference the name of the multi-field - as defined by the property in the dialog. In your case - multishort.

I am not sure why you want to remove reference to ./multishort.  You need this reference to read back the values that a user entered in the controls in the custom xtype using node application logic. 

We will be releasing a new xtype community article on Fri March 21 that shows how to read back values from a multi-field that uses a custom xtype. Very similiar to this use case. 

View solution in original post

2 Replies

Avatar

Level 10

Enhancement request has been placed(CQ5-4257) . You might need to develop your own widget at project level.

Avatar

Correct answer by
Level 10

 In your example, you named your multi-field ./multishort in the dialog property. Each time a user adds a new multifield  by clicking the Add Item on your dialog:

[img]multixtype.png[/img]

AEM controls defined in your custom xtype is displayed. That is -- objects defined in:

 Ejst.CustomWidget = CQ.Ext.extend(CQ.form.CompositeField)

are displayed. A user using your component will enter values into the controls in each multi-field. You can read back the values in the component's JSP by using node application logic. However - to read these values back - you need to reference the name of the multi-field - as defined by the property in the dialog. In your case - multishort.

I am not sure why you want to remove reference to ./multishort.  You need this reference to read back the values that a user entered in the controls in the custom xtype using node application logic. 

We will be releasing a new xtype community article on Fri March 21 that shows how to read back values from a multi-field that uses a custom xtype. Very similiar to this use case.