Skip to content

Commit

Permalink
add links to dialog.
Browse files Browse the repository at this point in the history
  • Loading branch information
wildone committed Jun 21, 2021
1 parent c1ebb77 commit 7cbcde4
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ window.AEMDESIGN.components.authoring.contactdetails = AEMDESIGN.components.auth

console.log(["dialog-"+componentName+"-behaviour","loading"]);

//load content into field
//load content into pagedetails-pagemetadata field
if ($("#dialog-"+componentName+"").find(".pagedetails-pagemetadata")[0]) {

console.log(["dialog-"+componentName+"-behaviour","loading", "pagedetails-pagemetadata"]);
var $form = $("#dialog-"+componentName+"").closest('form');
console.log(['$form', $form]);
var formUrl = $form[0].action;
$.getJSON(formUrl + '.json').done(function (data) {
console.log(["pagedetails-pagemetadata",data]);
console.log(data);
var
fieldconfigKey = data.pageMetaProperty,
Expand Down Expand Up @@ -61,6 +63,51 @@ window.AEMDESIGN.components.authoring.contactdetails = AEMDESIGN.components.auth
console.log(["dialog-"+componentName+"-behaviour","pagedetails-pagemetadata","not found"]);
}

//load content into pagedetails-sociallink field
if ($("#dialog-"+componentName+"").find(".pagedetails-sociallink")[0]) {
console.log(["dialog-"+componentName+"-behaviour","loading", "pagedetails-sociallink"]);
var $form = $("#dialog-"+componentName+"").closest('form');
console.log(['$form', $form, $form[0].action]);
var formUrl = $form[0].action;
$.getJSON(formUrl + '.json').done(function (data) {
console.log(["pagedetails-sociallink",formUrl,data]);
var
fieldconfigKey = data.linksType,
fieldconfigValue = data.linksContent;


if (fieldconfigKey) {
//turn plain string into array
if (typeof fieldconfigKey === 'string') {
fieldconfigKey = [fieldconfigKey];
}
//turn plain string into array
if (fieldconfigValue && (typeof fieldconfigValue === 'string')) {
fieldconfigValue = [fieldconfigValue];
}


fieldconfigKey.forEach(function (key, index) {
console.log(['field', fieldconfigKey[index], fieldconfigValue[index]]);
var curr = $("#dialog-"+componentName+"").find(".pagedetails-sociallink")[0].items.add();
Coral.commons.ready(curr, function (readyCurr) {
$(readyCurr).find('[name="./linksType"]')[0].value = fieldconfigKey[index];
$(readyCurr).find('[name="./linksContent"]')[0].value = fieldconfigValue[index];

});
});
}
else {
//add empty row if needed
//$(".pagedetails-pagemetadata")[0].items.add();
}


});

} else {
console.log(["dialog-"+componentName+"-behaviour","pagedetails-pagemetadata","not found"]);
}

}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,58 @@
resourceType="granite/ui/components/foundation/form/hidden"
sling:resourceType="granite/ui/components/coral/foundation/include"/>


<fieldlinksmultifield
granite:class="pagedetails-sociallink"
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
composite="{Boolean}false"
fieldLabel="Links">
<field
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/container">
<items jcr:primaryType="nt:unstructured">
<linksType
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/select"
fieldLabel="Field"
name="./linksType"
emptyOption="{Boolean}true"
required="{Boolean}true">
<datasource
jcr:primaryType="nt:unstructured"
sling:resourceType="aemdesign/components/coral/datasources/tags"
variant="valuelist"
path="/content/cq:tags/${(empty tenant.id and empty tenantId) ? 'aemdesign' : (empty tenant.id ? tenantId : tenant.id )}/component-dialog/sociallink/type"/>
</linksType>

<linksContent
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textfield"
fieldLabel="Content"
name="./linksContent"
required="{Boolean}true"/>
</items>
</field>
</fieldlinksmultifield>
<fieldlinksDelete
granite:hidden="{Boolean}true"
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/container">
<items jcr:primaryType="nt:unstructured">
<pageMetaProperty
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./linksType@Delete"
value="{Boolean}true"/>
<pageMetaPropertyContent
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./linksContent@Delete"
value="{Boolean}true"/>
</items>
</fieldlinksDelete>

</items>
</advanced>

Expand Down

0 comments on commit 7cbcde4

Please sign in to comment.