Economic Survey Result - Service Statistics 2011
Building Completion Statistics First quarter 2013
Economic Survey Result - Information and Telecommunications 2011
Economic Survey Result - Wholesale and Retail Trade 2011
Economic Survey Result - Transport and Storage 2011
Economic Survey Result - Construction 2011
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>
Building Materials Price Statistics May 2013
Consumer Price Index May 2013
Consumer Price Index April 2013
Building Materials Price Statistics 2012
Building Materials Price Statistics April 2013
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>
Building Materials Price Statistics March 2013
Consumer Price Index March 2013
Consumer Price Index 2012
Building Materials Price Statistics Feburary 2013
Agriculture Producer Price Index Second half 2012
Consumer Price Index Feburary 2013
Building Completion Statistics Fourth quarter 2012
Building Materials Price Statistics January 2013
Consumer Price Index January 2013
Did you find this content useful?
Share your feedback with us so we can improve your experience.