An error occurred while processing the template.
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 66, column 60]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${themeIconId} [in template "20098#20124#2513884" at line 66, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21
22<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
23<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
24<#assign articleTitleEn = journalArticlele.getTitle("en_US")!journalArticleTitle />
25<#assign articleTitleAr = journalArticlele.getTitle("ar_SA")!journalArticleTitle />
26<#assign currentUserScreenName = themeDisplay.getUser().getScreenName()!"" />
27
28
29<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
30 categoryDisplay="Economic" />
31<#if (articleCatNames?size > 0)>
32 <#list articleCatNames as category>
33 <#if category.parentCategoryId==0>
34 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
35 <#assign assetThemeCategoryId=category.categoryId?long />
36 <#assign
37 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
38 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
39 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
40
41 <#if themeImgId!="0">
42 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
43 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
44 </#if>
45 <#list category.name?split(" ") as catWords>
46 <#assign categoryDisplay = catWords/>
47 <#break>
48 </#list>
49 <#assign categoryDisplay = category.titleCurrentValue/>
50 </#if>
51 </#if>
52 </#list>
53
54 </#if>
55
56
57<#if file_upload.getSiblings()?has_content>
58
59 <#list file_upload.getSiblings() as medias>
60 <#if medias.getData()?has_content >
61
62 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
63 <div class="col-lg-1 p-0 ">
64 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
65 <div class="align-self-center mx-auto d-flex flex-column">
66 <img src="/documents/d/guest/${themeIconId}" height="30">
67 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
68 ${categoryDisplay}
69 </label>
70 </div>
71 </div>
72 </div>
73
74 <div class="col-8">
75 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
76 <div class="dates_inside_wrapper">
77
78<div class="dates_inside">
79<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
80
81 <div>
82 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
83 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
84${releaseDate?string("yyyy-MM-dd")}
85 </div>
86 </div>
87 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
88<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
89 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
90 <#if formattedRevDate != "1888-01-01">
91 <div class="dates_inside">
92 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
93
94<div>Revision Date:
95 ${revisionDate?string("yyyy-MM-dd")}
96 </div>
97 </div>
98 </#if>
99
100
101
102
103 </div>
104
105 <#assign articleId = .vars["reserved-article-id"].data?number>
106 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
107 <div class="dates_inside_wrapper p-1">
108 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
109 ${.vars['publicationNote'].getData()}
110 </div>
111</#if>
112
113
114
115
116 </div>
117
118 <div class="col-3 d-flex align-items-center justify-content-end">
119
120
121 <div class="my-2 right-icons d-flex align-items-center ">
122 <#if file_upload.getSiblings()?has_content>
123 <#list file_upload.getSiblings() as media>
124 <#if media.getData()?has_content>
125
126 <#assign counter=0>
127 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
128 <#if counter==5>
129 <#list mediaDataSplit?split("?") as uuId>
130 <#assign uuid=uuId />
131 <#break>
132 </#list>
133 </#if>
134 <#assign counter=counter+1>
135 </#list>
136 <#if uuid??>
137 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
138 <#assign fileExtension=file.extension>
139 <#assign fileSize = file.size >
140 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
141 <#if fileExtension=="">
142 <#list "${file.fileName}" ?split(".") as extention>
143 <#if extention?is_last>
144 <#assign fileExtension=extention>
145 <#break>
146 </#if>
147 </#list>
148 </#if>
149 <#if media.getData()?has_content>
150
151
152 <#if fileExtension=="pdf" || fileExtension=="PDF">
153 <a class="ml-2" href="${media.getData()}" target="blank"
154 style="order:1" onclick="trackDownload(event, '${file.fileName}'); trackPublicationDownload('${articleTitleEn?js_string}', '${articleTitleAr?js_string}', '${media.getData()?js_string}', '${currentUserScreenName?js_string}');">
155 <li class="list-item list-inline-item d-flex flex-column">
156 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
157 class="d-flex mx-auto align-self-center" />
158 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
159 </li>
160 </a>
161
162 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
163 fileExtension=="xlsx" || fileExtension=="XLSX">
164 <a class="ml-2" href="${media.getData()}" target="blank"
165 style="order:2" onclick="trackDownload(event, '${file.fileName}'); trackPublicationDownload('${articleTitleEn?js_string}', '${articleTitleAr?js_string}', '${media.getData()?js_string}', '${currentUserScreenName?js_string}');">
166 <li class="list-item list-inline-item d-flex flex-column">
167
168 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
169 class="d-flex mx-auto align-self-center" />
170 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
171 </li>
172 </a>
173
174 <#else>
175
176 <a class="ml-2" href="${media.getData()}" target="blank"
177 style="order:3" onclick="trackDownload(event, '${file.fileName}'); trackPublicationDownload('${articleTitleEn?js_string}', '${articleTitleAr?js_string}', '${media.getData()?js_string}', '${currentUserScreenName?js_string}');">
178 <li class="list-item list-inline-item d-flex flex-column">
179
180 <img src="/documents/d/guest/docx-1-"
181 class="d-flex mx-auto align-self-center" style="height:25px;" />
182 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
183
184 </li>
185 </a>
186
187 </#if>
188
189
190 </#if>
191 </#if>
192 </#if>
193 </#list>
194 </#if>
195 </div>
196 </div>
197 </div>
198
199
200
201<#break>
202
203 </#if>
204</#list>
205</#if>
206<style>.dates_inside_wrapper{
207
208display: flex;
209 gap: 5px;
210 align-items: center;
211 font-size: 13px;
212 flex-direction: row;
213 gap: 20px;
214}
215
216.dates_inside {
217
218 display: flex;
219 gap: 5px;
220 align-items: center;
221
222 padding: 4px 10px;
223 color: #616060;
224 border-radius: 5px;
225
226}
227.file-size{padding :5px;}</style>
228<script>
229<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
230<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
231var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
232
233// Convert the string into a Date object
234var date = new Date(dateString);
235
236// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
237var formattedDate = date.toLocaleDateString('en-GB', {
238 day: '2-digit',
239 month: 'short',
240 year: 'numeric'
241});
242
243// Set the formatted date into the HTML
244document.querySelector('.publications-display').innerHTML = formattedDate;
245function trackDownload(event, fileName) {
246 console.log("INSIDE TRACKING DOWNLOADS");
247
248 // Check if fileName is correctly passed
249 if (fileName) {
250 console.log("File Name: " + fileName);
251 Analytics.track('trackPublicationDownloads', {
252 'fileName': fileName
253 });
254 } else {
255 console.log("Error: File name is missing or incorrect.");
256 }
257
258 console.log("INSIDE TRACKER");
259}
260function escapeNonAscii(str) {
261 return str.replace(/[^\x00-\x7F]/g, function(ch) {
262 return '\\u' + ('0000' + ch.charCodeAt(0).toString(16)).slice(-4);
263 });
264}
265function trackPublicationDownload(nameEn, nameAr, fileUrl, createdBy) {
266 var innerPayload = {
267 Name_EN: nameEn,
268 Name_AR: nameAr,
269 PublicationID: 0,
270 CalendarID: 0,
271 URL: fileUrl,
272 CreatedBy: createdBy
273 };
274
275 var outerPayload = {
276 url: 'Publication/InsertPublicationDownload',
277 body: escapeNonAscii(JSON.stringify(innerPayload))
278 };
279
280 try {
281 fetch('/o/communication', {
282 method: 'POST',
283 headers: {
284 'Accept': '*/*',
285 'Content-Type': 'application/json; charset=utf-8'
286 },
287 body: JSON.stringify(outerPayload)
288 });
289 } catch (e) {}
290}
291</script>
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate by Harmonized System-Monthly January 2024
Release Date: 2024-03-30
Climate Statistics-Monthly March 2024
Release Date: 2024-03-30
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate by Harmonized System-Annual 2023
Release Date: 2024-03-30
Consumer Price Index-Quarterly First Quarter 2024
Release Date: 2024-03-30
Banks Statistics Fourth Quarter 2023
Release Date: 2024-03-30
An error occurred while processing the template.
The following has evaluated to null or missing:
==> themeIconId [in template "20098#20124#2513884" at line 66, column 60]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${themeIconId} [in template "20098#20124#2513884" at line 66, column 58]
----
1<div data-analytics-asset-type="document"
2 data-analytics-asset-id="publications-downloaded"
3 data-analytics-asset-title="Publications Downloaded"
4 data-analytics-asset-action="download">
5
6<#assign catLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
7 JournalArticleService=serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")
8 resourcePrimKey=JournalArticleService.getArticleResourcePrimKey(groupId, .vars['reserved-article-id'].data)
9 articleCatNames=catLocalService.getCategories("com.liferay.journal.model.JournalArticle", resourcePrimKey)
10 dlFileEntryService=serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryService')
11 assetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
12 dlAppLocalServiceUtil=staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"]
13 dlUtil=staticUtil["com.liferay.document.library.kernel.util.DLUtil"]
14 statisticVocabulary=assetVocabularyLocalService.getGroupVocabulary(groupId?long,"statistics")
15 assetCategoryPropService=serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
16 <#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
17
18
19<#assign journalArticleTitle=.vars['reserved-article-title'].data />
20
21
22<#assign journalArticlele = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
23<#assign journalArticleDisplayDate = journalArticlele.getExpandoBridge().getAttribute("UIIssueDate")/>
24<#assign articleTitleEn = journalArticlele.getTitle("en_US")!journalArticleTitle />
25<#assign articleTitleAr = journalArticlele.getTitle("ar_SA")!journalArticleTitle />
26<#assign currentUserScreenName = themeDisplay.getUser().getScreenName()!"" />
27
28
29<#assign themeColor="d29c4b" imgUrl="${themeDisplay.getPathThemeImages()}/publications/005.jpg"
30 categoryDisplay="Economic" />
31<#if (articleCatNames?size > 0)>
32 <#list articleCatNames as category>
33 <#if category.parentCategoryId==0>
34 <#if category.getVocabularyId()==statisticVocabulary.getVocabularyId()>
35 <#assign assetThemeCategoryId=category.categoryId?long />
36 <#assign
37 themeColor=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_color").getValue()
38 themeIconId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"theme_icon_id").getValue()
39 themeImgId=assetCategoryPropService.getCategoryProperty(assetThemeCategoryId,"portfolio-image").getValue() />
40
41 <#if themeImgId!="0">
42 <#assign imgDlFile=dlAppLocalServiceUtil.getFileEntry(themeImgId?number)
43 imgUrl=dlUtil.getPreviewURL(imgDlFile, imgDlFile.getFileVersion(), themeDisplay, '' ) />
44 </#if>
45 <#list category.name?split(" ") as catWords>
46 <#assign categoryDisplay = catWords/>
47 <#break>
48 </#list>
49 <#assign categoryDisplay = category.titleCurrentValue/>
50 </#if>
51 </#if>
52 </#list>
53
54 </#if>
55
56
57<#if file_upload.getSiblings()?has_content>
58
59 <#list file_upload.getSiblings() as medias>
60 <#if medias.getData()?has_content >
61
62 <div class=" row mb-3 mx-0 bg-white d-flex w-100 align-items-center h-100 border rounded">
63 <div class="col-lg-1 p-0 ">
64 <div class="icon d-flex text-center px-2 py-3" style="background: #eee">
65 <div class="align-self-center mx-auto d-flex flex-column">
66 <img src="/documents/d/guest/${themeIconId}" height="30">
67 <label class="small mx-auto mb-0" style="color: #${themeColor} ;">
68 ${categoryDisplay}
69 </label>
70 </div>
71 </div>
72 </div>
73
74 <div class="col-8">
75 <p class="mb-0 py-3 publication-p">${journalArticleTitle}</p>
76 <div class="dates_inside_wrapper">
77
78<div class="dates_inside">
79<img height="16" src="/documents/d/guest/release_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
80
81 <div>
82 Release Date: <#assign releaseArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
83 <#assign releaseDate = releaseArticle.getExpandoBridge().getAttribute("UIIssueDate")/>
84${releaseDate?string("yyyy-MM-dd")}
85 </div>
86 </div>
87 <#assign publicationArticle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
88<#assign revisionDate = publicationArticle.getExpandoBridge().getAttribute("revisionDate")/>
89 <#assign formattedRevDate = revisionDate?string("yyyy-MM-dd")>
90 <#if formattedRevDate != "1888-01-01">
91 <div class="dates_inside">
92 <img height="16" src="/documents/d/guest/revision_icon" class="pe-2" style="filter: invert(1); padding-inline-end: 2px; padding-bottom:3px;">
93
94<div>Revision Date:
95 ${revisionDate?string("yyyy-MM-dd")}
96 </div>
97 </div>
98 </#if>
99
100
101
102
103 </div>
104
105 <#assign articleId = .vars["reserved-article-id"].data?number>
106 <#if .vars['publicationNote']?? && .vars['publicationNote'].getData()?has_content>
107 <div class="dates_inside_wrapper p-1">
108 <img src="/documents/d/guest/information-circle-svgrepo-com" height="20" width="20">
109 ${.vars['publicationNote'].getData()}
110 </div>
111</#if>
112
113
114
115
116 </div>
117
118 <div class="col-3 d-flex align-items-center justify-content-end">
119
120
121 <div class="my-2 right-icons d-flex align-items-center ">
122 <#if file_upload.getSiblings()?has_content>
123 <#list file_upload.getSiblings() as media>
124 <#if media.getData()?has_content>
125
126 <#assign counter=0>
127 <#list "${media.getData()}" ?split("/") as mediaDataSplit>
128 <#if counter==5>
129 <#list mediaDataSplit?split("?") as uuId>
130 <#assign uuid=uuId />
131 <#break>
132 </#list>
133 </#if>
134 <#assign counter=counter+1>
135 </#list>
136 <#if uuid??>
137 <#assign file=dlFileEntryService.getFileEntryByUuidAndGroupId(uuid,groupId)>
138 <#assign fileExtension=file.extension>
139 <#assign fileSize = file.size >
140 <#assign fileSizeInMB = (file.size / 1024 / 1024)?string('0.##')>
141 <#if fileExtension=="">
142 <#list "${file.fileName}" ?split(".") as extention>
143 <#if extention?is_last>
144 <#assign fileExtension=extention>
145 <#break>
146 </#if>
147 </#list>
148 </#if>
149 <#if media.getData()?has_content>
150
151
152 <#if fileExtension=="pdf" || fileExtension=="PDF">
153 <a class="ml-2" href="${media.getData()}" target="blank"
154 style="order:1" onclick="trackDownload(event, '${file.fileName}'); trackPublicationDownload('${articleTitleEn?js_string}', '${articleTitleAr?js_string}', '${media.getData()?js_string}', '${currentUserScreenName?js_string}');">
155 <li class="list-item list-inline-item d-flex flex-column">
156 <img src=${themeDisplay.getPathThemeImages()}/publications/pdf-svgrepo-com.svg
157 class="d-flex mx-auto align-self-center" />
158 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
159 </li>
160 </a>
161
162 <#elseif fileExtension=="xls" || fileExtension=="XLS" ||
163 fileExtension=="xlsx" || fileExtension=="XLSX">
164 <a class="ml-2" href="${media.getData()}" target="blank"
165 style="order:2" onclick="trackDownload(event, '${file.fileName}'); trackPublicationDownload('${articleTitleEn?js_string}', '${articleTitleAr?js_string}', '${media.getData()?js_string}', '${currentUserScreenName?js_string}');">
166 <li class="list-item list-inline-item d-flex flex-column">
167
168 <img src=${themeDisplay.getPathThemeImages()}/publications/excel-svgrepo-com.svg
169 class="d-flex mx-auto align-self-center" />
170 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
171 </li>
172 </a>
173
174 <#else>
175
176 <a class="ml-2" href="${media.getData()}" target="blank"
177 style="order:3" onclick="trackDownload(event, '${file.fileName}'); trackPublicationDownload('${articleTitleEn?js_string}', '${articleTitleAr?js_string}', '${media.getData()?js_string}', '${currentUserScreenName?js_string}');">
178 <li class="list-item list-inline-item d-flex flex-column">
179
180 <img src="/documents/d/guest/docx-1-"
181 class="d-flex mx-auto align-self-center" style="height:25px;" />
182 <small class="text-dark-blue"> ${fileSizeInMB} MB </small>
183
184 </li>
185 </a>
186
187 </#if>
188
189
190 </#if>
191 </#if>
192 </#if>
193 </#list>
194 </#if>
195 </div>
196 </div>
197 </div>
198
199
200
201<#break>
202
203 </#if>
204</#list>
205</#if>
206<style>.dates_inside_wrapper{
207
208display: flex;
209 gap: 5px;
210 align-items: center;
211 font-size: 13px;
212 flex-direction: row;
213 gap: 20px;
214}
215
216.dates_inside {
217
218 display: flex;
219 gap: 5px;
220 align-items: center;
221
222 padding: 4px 10px;
223 color: #616060;
224 border-radius: 5px;
225
226}
227.file-size{padding :5px;}</style>
228<script>
229<#assign JArticleTitle = JournalArticleLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
230<#assign JDisplayDate = JArticleTitle.getExpandoBridge().getAttribute("UIIssueDate")/>
231var dateString = '${JDisplayDate?string("yyyy-MM-dd")}';
232
233// Convert the string into a Date object
234var date = new Date(dateString);
235
236// Format the date to "dd MMM yyyy" (e.g., "02 Feb 2024")
237var formattedDate = date.toLocaleDateString('en-GB', {
238 day: '2-digit',
239 month: 'short',
240 year: 'numeric'
241});
242
243// Set the formatted date into the HTML
244document.querySelector('.publications-display').innerHTML = formattedDate;
245function trackDownload(event, fileName) {
246 console.log("INSIDE TRACKING DOWNLOADS");
247
248 // Check if fileName is correctly passed
249 if (fileName) {
250 console.log("File Name: " + fileName);
251 Analytics.track('trackPublicationDownloads', {
252 'fileName': fileName
253 });
254 } else {
255 console.log("Error: File name is missing or incorrect.");
256 }
257
258 console.log("INSIDE TRACKER");
259}
260function escapeNonAscii(str) {
261 return str.replace(/[^\x00-\x7F]/g, function(ch) {
262 return '\\u' + ('0000' + ch.charCodeAt(0).toString(16)).slice(-4);
263 });
264}
265function trackPublicationDownload(nameEn, nameAr, fileUrl, createdBy) {
266 var innerPayload = {
267 Name_EN: nameEn,
268 Name_AR: nameAr,
269 PublicationID: 0,
270 CalendarID: 0,
271 URL: fileUrl,
272 CreatedBy: createdBy
273 };
274
275 var outerPayload = {
276 url: 'Publication/InsertPublicationDownload',
277 body: escapeNonAscii(JSON.stringify(innerPayload))
278 };
279
280 try {
281 fetch('/o/communication', {
282 method: 'POST',
283 headers: {
284 'Accept': '*/*',
285 'Content-Type': 'application/json; charset=utf-8'
286 },
287 body: JSON.stringify(outerPayload)
288 });
289 } catch (e) {}
290}
291</script>
Non-oil Foreign Merchandise Trade Through the Ports of Abu Dhabi Emirate by Harmonized System December 2023
Release Date: 2024-02-28
Did you find this content useful?
Share your feedback with us so we can improve your experience.