Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

AEM 6.1 Touch Ui checkbox, how to get it unchecked while reopening the dialog.

jydps87387977
Level 4
Level 4

[Thread Edited By Adobe]

/*Don’t forget to meet and greet your fellow peers virtually by telling them about yourself here

Go ahead and to it now: https://adobe.ly/3eDnB4v */

 

Actual Post:

Hi,

Using AEM 6.1, Touch Ui dialogs, I have a checkbox (checked by default).

 

1. Checkbox is checked (first time, be default)

2. Uncheck the checkbox and submit the dialog

3. Open the dialog, it is still checked.

Question: Is there any way to uncheck the checkbox in Step 3 above

 

 

desktop_exl_promo_600x100_gdrp.png

1 Accepted Solution
Tyler_Maynard
Correct answer by
Level 4
Level 4

After playing around, here is the approach I use now involves using cq:template to prefill the resource with a checked value. Just make sure the name of the value you are saving, and the value that is set when checked are present in the cq:template.

Component:

cq:dialog:

<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" jcr:title="Checkbox" sling:resourceType="cq/gui/components/authoring/dialog" helpPath="en/cq/current/wcm/default_components.html#Image"> <content jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/container"> <layout jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns" margin="{Boolean}false" type="nav"/> <items jcr:primaryType="nt:unstructured"> <column jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/container"> <items jcr:primaryType="nt:unstructured"> <hideMobile jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/checkbox" name="./myValue" text="Check By Default" value="isChecked"/> </items> </column> </items> </content> </jcr:root>

 

cq:template

<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" myValue="isChecked"> </jcr:root>

 

checkbox.html

<h1>${properties.myValue}</h1>


 

View solution in original post

25 Replies
stevec2515680
Level 4
Level 4

In the Touch UI, a checkbox is based on this data type: 

https://docs.adobe.com/docs/en/aem/6-0/develop/ref/granite-ui/api/jcr_root/libs/granite/ui/component...

See:

checked boolean
Indicates if the checkbox is checked. Providing checked property (either true or false) will imply ignoreData to be true.

jydps87387977
Level 4
Level 4

Thank you for the response.

While using the checkbox, with 
-checked=true, 
-value=true
On submitting the dialog will store the string as 'true' in the JCR.

Now again, if the user opens the dialog and uncheck the checkbox and submit the dialog, what will get stored in the JCR ?

On opening the Dialog again, the checkbox seems always checked.

How can the capability to uncheck the checkbox be provided to the user ?

bsloki
Community Advisor
Community Advisor

Can you post your components content.xml ?

kautuk_sahni
Community Manager
Community Manager

Hi

I am not sure, if this would help you, but please have a look into this :-

Link:- http://stackoverflow.com/questions/10483546/getting-default-checked-checkbox-in-cq5

// Getting Default Checked/Unchecked in Checkbox in AEM

 

I hope this will work for you.

Thanks and Regards

Kautuk Sahni

jydps87387977
Level 4
Level 4
Here is the checkbox details from .context.xml <enable jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/checkbox" name="./facets-enable" text="Enable Search Facets" value="true"         checked="{Boolean}true"/>
<enable-delete jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden" name="./facets-enable@Delete" value="{Boolean}true"/>
edubey
Level 10
Level 10

Check these config properties. It works

Path: /libs/foundation/components/page/cq:dialog/content/items/tabs/items/basic/items/column/items/title/items/hideinnav

jydps87387977
Level 4
Level 4

Thank you for the response.

My requirement is to have the default checkbox as 'checked',

1. When user opens the dialog, first time he will see the checkbox as 'checked'.

2. User unchecks the dialog, and submit the dialog

3. When user reopens the dialog, the checkbox should be unchecked. 

Question: How to achieve Step 3, if this checkbox is marked as checked=true ?

leeasling
Level 8
Level 8

Remove the "value=true".  This sets the value every time.

jydps87387977
Level 4
Level 4

On removing "value=true", then on checkbox 'check' and submit will store the "value=on".

Deepthi_Anumula
Level 1
Level 1

HI , I am facing the same issue. Could you solve it?

Hemant_arora
Level 8
Level 8

delete the node 

<enable-delete jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden" name="./facets-enable@Delete" value="{Boolean}true"/>

 

 

and it will work fine. I faced the same issue.

Tyler_Maynard
Level 4
Level 4

I ended up just rewording my dialog so its the opposite. Makes the author experience less desirable.

Changed:

Use default container [x] <-- always checked because I want it to be by default, but 'checked=true' is garbage.

Do not use default container [ ] <-- reworded so now its confusing but at least it saves right.

 

Another option: use cq:template node to set the default value that will make it checked by default.

clemente_perey1
Level 2
Level 2

I suppose you already found the solution for your particular scenario. Just in case, here is what I did for the same scenario. It works as expected.

You have to create a pair of nodes for each Checkbox you want to use:
<myCheckbox
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/checkbox"
    text="Check this"
    name="./myCheckbox"
    value="true"/>
<myCheckboxType
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/hidden"
    name="./myCheckbox@TypeHint"
    value="Boolean"/>

Cheers.

clemente_perey1
Level 2
Level 2

In case you are still looking for a solution to this issue, this is what I did and it works as expected.

You need a pair of nodes for each checkbox you want:

<registerNow
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/checkbox"
    fieldDescription="When checked, the Register Now section button appears on the page for members to use"
    text="Register Now"
    name="./registerNow"
    value="true"/>
<registerNowType
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/hidden"
    name="./registerNow@TypeHint"
    value="Boolean"/>

Cheers!

jeq0214
Level 1
Level 1

clemente.pereyra wrote...

In case you are still looking for a solution to this issue, this is what I did and it works as expected.

You need a pair of nodes for each checkbox you want:

<registerNow
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/checkbox"
    fieldDescription="When checked, the Register Now section button appears on the page for members to use"
    text="Register Now"
    name="./registerNow"
    value="true"/>
<registerNowType
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/foundation/form/hidden"
    name="./registerNow@TypeHint"
    value="Boolean"/>

Cheers!

 

I was not able to get a default check. What version are you on?

Tyler_Maynard
Correct answer by
Level 4
Level 4

After playing around, here is the approach I use now involves using cq:template to prefill the resource with a checked value. Just make sure the name of the value you are saving, and the value that is set when checked are present in the cq:template.

Component:

cq:dialog:

<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" jcr:title="Checkbox" sling:resourceType="cq/gui/components/authoring/dialog" helpPath="en/cq/current/wcm/default_components.html#Image"> <content jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/container"> <layout jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns" margin="{Boolean}false" type="nav"/> <items jcr:primaryType="nt:unstructured"> <column jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/container"> <items jcr:primaryType="nt:unstructured"> <hideMobile jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/checkbox" name="./myValue" text="Check By Default" value="isChecked"/> </items> </column> </items> </content> </jcr:root>

 

cq:template

<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" myValue="isChecked"> </jcr:root>

 

checkbox.html

<h1>${properties.myValue}</h1>


 

View solution in original post

saicharanu23805
Level 2
Level 2

I have same kind of issue, so i have added following properties it works as expected.

defaultChecked(boolean) = "true"

unCheckedValue(boolean) = "false".

So now you will be having either true or false in jcr:

Hope it helps!!!!.