[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
Solved! Go to Solution.
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>
Any suggestions on this please ?
In the Touch UI, a checkbox is based on this data type:
See:
checked boolean
Indicates if the checkbox is checked. Providing checked property (either true or false) will imply ignoreData to be true.
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 ?
Can you post your components content.xml ?
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
Views
Replies
Total Likes
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"/>
Check these config properties. It works
Path: /libs/foundation/components/page/cq:dialog/content/items/tabs/items/basic/items/column/items/title/items/hideinnav
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 ?
Any suggestions for above ?
Remove the "value=true". This sets the value every time.
On removing "value=true", then on checkbox 'check' and submit will store the "value=on".
HI , I am facing the same issue. Could you solve it?
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.
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.
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.
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!
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?
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>
This worked for me. Thanks!
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!!!!.