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
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Send parameters to common cq dialog

maynors2427659
Level 2
Level 2

Hi,

   I have a component with  a cq dialog with several tabs, they share the same content so i separate them. This is one of the tabs

<firstcardtab
   jcr:primaryType="nt:unstructured"
   jcr:title="First Card"
   sling:resourceType="granite/ui/components/foundation/section">
  <layout
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"
   margin="{Boolean}false"/>
  <items jcr:primaryType="nt:unstructured">
  <column
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container">
  <items jcr:primaryType="nt:unstructured">
  <tabconfig jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/include"
   path="/components/content/homepage/featurededcthoughtleadership/cq:dialog/tabs/content" />
  </items>
  </column>
  </items>
</firstcardtab>

I have a select with cq-dialog-dropdown-showhide so I need to send a parameter in order to call the JS function with a different name, otherwise it will show and hide the options in the other tabs:

<cardType
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/form/select"
   class="cq-dialog-dropdown-showhide"
   cq-dialog-dropdown-showhide-target=".ftl-cardtype-showhide-target-1"
   fieldDescription="Determines the type of card to display."
   fieldLabel="Card Type"
   name="./cardtype">
  <items jcr:primaryType="nt:unstructured">
  <pullFromMostRecentOpt
   jcr:primaryType="nt:unstructured"
   text="Pull from most recent"
   value="pullfrommostrecent"/>
  <customAuthorOpt
   jcr:primaryType="nt:unstructured"
   text="Choose what to display"
   value="customauthor"/>
  </items>
</cardType>
<pullFromMostRecent
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container"
   class="hide ftl-cardtype-showhide-target-1 foundation-layout-util-vmargin"
   showhidetargetvalue="pullfrommostrecent">
  <items jcr:primaryType="nt:unstructured">
  <noConfigNeeded
   sling:resourceType="granite/ui/components/coral/foundation/text"
   text="Configuration is not required for this card type"
   jcr:primaryType="nt:unstructured"/>
  </items>
</pullFromMostRecent>
<customAuthor
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/foundation/container"
   class="hide ftl-cardtype-showhide-target-1 foundation-layout-util-vmargin"
   showhidetargetvalue="customauthor">
  <items jcr:primaryType="nt:unstructured">
  <title
   sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
   fieldLabel="Title"
   fieldDescription="Text shown on the main screen"
   jcr:primaryType="nt:unstructured"
   name="./title"/>
  <position
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/form/numberfield"
   fieldLabel="Position"
   fieldDescription="1: largest card, 2: left standard card, 3: right standard card, 4: first list card, 5: second list card.."
   min="1"
   max="7"
   name="./position"/>
  <url
   jcr:primaryType="nt:unstructured"
   sling:resourceType="/libs/granite/ui/components/coral/foundation/form/pathfield"
   fieldLabel="Link url"
   fieldDescription="Select page url"
   rootPath="/content/"
   name="./url"
   required="{Boolean}false"/>
  <externaldate
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/form/datepicker"
   fieldLabel="Article Date"
   fieldDescription="Optional article date, if blank no date will be displayed."
   name="./externalDate"/>
  <image
   jcr:primaryType="nt:unstructured"
   sling:resourceType="cq/gui/components/authoring/dialog/fileupload"
   allowUpload="{Boolean}false"
   autoStart="{Boolean}true"
   class="cq-droptarget"
   fieldDescription="Image to show."
   fieldLabel="Image"
   fileNameParameter="./externalImageName"
   fileReferenceParameter="./externalImageReference"
   mimeTypes="[image]"
   multiple="{Boolean}false"
   name="./externalImage"
   title="Upload Image Asset"
   uploadUrl="${suffix.path}"
   useHTML5="{Boolean}true"
   required="{Boolean}false"/>
  <alt
   jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
   fieldLabel="Image alternate text"
   fieldDescription="Image alternate text."
   name="./externalImageAlt"/>

How do I send the parameters to this other file in common, something like this:

<tabconfig jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/include"
   path="/components/content/homepage/featurededcthoughtleadership/cq:dialog/tabs/content @parameterfortab1" />

ANd how do I receive it?

Thanks,

3 Replies
smacdonald2008
Level 10
Level 10

Team replied --

1. add a simple custom include resource type based on /libs/granite/ui/components/coral/foundation/include/include.jsp, say /apps/my-project/include/include.jsp

2. pass the parameters

<myTas
   
jcr:primaryType="nt:unstructured"
   
sling:resourceType="
/apps/my-project/include"
   
path="/my/path/to/include?param1=value1&param2=value2"
/>

3. in /apps/my-project/include/include.jsp, get the path and parameters

4. use request dispatcher to include the path..