Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Use Api in JS

Avatar

Level 6

I have create a custom js file in a clientlib with category dam.gui.coral.metadataeditor. I have added the below code to my JS:

"use strict";

use(function () {
var path = currentPage.path;
});

When I open the Properties page for my asset this JS loads. But I am seeing a console error:

Uncaught ReferenceError: Use is not defined at <myjsfile.js:2>

I am not able to use the Use Api in my javascript

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@Shaheena_Sheikh 

currentPage is a server side object which can be only used in HTL JavaScript Use-API, Rhino JavaScript engine will convert JavaScript and only understands HTL global objects. You can not use HTL global object in custom Client Library JavaScript.

View solution in original post

7 Replies

Avatar

Level 6
I saw that ticket but i dont think that's relevant because i just started my local instance but i still see the same issue

Avatar

Level 8

The js use API execute at the server-side and we use this in components business logic, but I never tried this by adding category dam.gui.coral.metadataeditor,  and in this case, based on my understanding you are calling use API in metadata validation, I think this will not work. you need to use JS to get the page path and other business logic.

This is my understanding let's hear from other community members 

Avatar

Level 6
i think what you are saying makes sense. That may be the issue. All I want to accomplish is to fetch currentNode property-value in my valdation and so i thought to use the USE API. Is there anyway to get that done?

Avatar

Correct answer by
Community Advisor

@Shaheena_Sheikh 

currentPage is a server side object which can be only used in HTL JavaScript Use-API, Rhino JavaScript engine will convert JavaScript and only understands HTL global objects. You can not use HTL global object in custom Client Library JavaScript.

Avatar

Administrator
Thank you for sharing the answer with community.


Kautuk Sahni