CRA’s new functionalities available to an APY subscriber

Dynamic Breadcrumb
टेम्पलेट के प्रोसेसिंग के समय त्रुटि हुई है.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 88:
Lexical error: encountered "u" (117), after "\"CRA\\".
---end-message---

The failing expression:
==> fileSizeData?eval  [in template "57581103840604#20120#145024" at line 25, column 25]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign rawSize = (fileSizeData?eval[...  [in template "57581103840604#20120#145024" at line 25, column 5]
----
1<#-- Set encoding --> 
2<#setting url_escaping_charset='UTF-8'> 
3 
4<#-- Format published date --> 
5<#if (displayDate.getData())??> 
6    <#assign meetingDate = getterUtil.getString(displayDate.getData()) /> 
7    <#assign formattedDate = "" /> 
8    <#if validator.isNotNull(meetingDate)> 
9        <#assign dateObject = dateUtil.parseDate("yyyy-MM-dd", meetingDate, locale)> 
10        <#assign formattedDate = dateUtil.getDate(dateObject, "dd-MM-yyyy", locale)> 
11    </#if> 
12</#if> 
13 
14<#-- Get PDF URL and check if it exists --> 
15<#assign pdfUrl = AccordianItemDocument.getData() /> 
16<#assign hasPdf = pdfUrl?has_content /> 
17<#assign cleanedURL = pdfUrl?replace("/[a-f0-9\\-]+\\?t=\\d+","","r") /> 
18 
19<#assign fullPdfUrl = themeDisplay.getPortalURL() + themeDisplay.getPathContext() + cleanedURL /> 
20 
21<#-- Calculate file size --> 
22<#assign displaySize = " " /> 
23<#if AccordianItemDocument.getData()?has_content> 
24    <#assign fileSizeData = AccordianItemDocument.data /> 
25    <#assign rawSize = (fileSizeData?eval["size"])?number?default(0) /> 
26    <#assign sizeKB = (rawSize / 1024)?ceiling /> 
27    <#assign sizeMB = (sizeKB / 1024)?string("0.0") /> 
28    <#assign displaySize = (sizeKB >= 1024)?then(sizeMB + " MB", sizeKB + " KB") /> 
29</#if> 
30 
31<div class="meta-row"> 
32    <div class="article-tts-view-pdf-wrapper"> 
33        <div class="download-pdf-wrapper"> 
34            <div class="btn-wrap"> 
35                <a href="javascript:void(0);" onclick="goBack()" class="matomo_download download_link" style="text-decoration: none;"> 
36                    <span class="fileName" style="color: #3E3E94; font-weight: 600; font-size: 16px;"> 
37                        <i class="fa-solid fa-arrow-left pdfDownload"></i> Go Back 
38                    </span> 
39                </a> 
40            </div> 
41        </div> 
42    </div> 
43 
44    <#-- Display publication date --> 
45    <#if validator.isNotNull(formattedDate)> 
46        <div class="font-resized"> 
47            <p>Issue Date: ${formattedDate}</p> 
48        </div> 
49    </#if> 
50 
51    <#-- Display PDF download if available --> 
52    <#if hasPdf> 
53        <div class="article-tts-view-pdf-wrapper"> 
54            <div class="download-pdf-wrapper"> 
55                <div class="btn-wrap"> 
56                    <a id="dynamicFileURL" href="${fullPdfUrl}" target="_blank" class="matomo_download download_link" style="text-decoration: none;"> 
57                        <span class="fileName" style="color: #3E3E94; font-weight: 600; font-size: 16px;"> 
58                            <i class="fa-solid fa-download pdfDownload"></i> PDF (<span class="fileSize">${displaySize}</span>) 
59                        </span> 
60                    </a> 
61                </div> 
62            </div> 
63        </div> 
64    </#if> 
65</div> 
66 
67<#-- Optional description --> 
68<#if AccordianItemDescription.getData()?has_content> 
69    <div style="font-size: 16px;">${AccordianItemDescription.getData()}</div> 
70</#if> 
71 
72<#-- Embedded PDF Viewer --> 
73<#if hasPdf> 
74    <div> 
75        <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=${fullPdfUrl?url}" width="100%" height="600px" style="border: none;"></iframe> 
76    </div> 
77</#if> 
78 
79<#-- Related content --> 
80<#if RelatedItems.getSiblings()?has_content> 
81    <#assign hasRelatedItems = false> 
82    <#list RelatedItems.getSiblings() as cur_RelatedItems> 
83        <#assign webContentData = jsonFactoryUtil.createJSONObject(cur_RelatedItems.getData()) /> 
84        <#if webContentData?? && webContentData.title??> 
85            <#assign hasRelatedItems = true> 
86        </#if> 
87    </#list> 
88 
89    <#if hasRelatedItems> 
90        <h5>Related ${.vars["reserved-article-asset-tag-names"].data}:</h5> 
91        <#list RelatedItems.getSiblings() as cur_RelatedItems> 
92            <#assign webContentData = jsonFactoryUtil.createJSONObject(cur_RelatedItems.getData()) /> 
93            <#assign itemId = "item_" + .vars["reserved-article-id"].data> 
94            <#if webContentData?? && webContentData.title??> 
95                <div id="accordion_${itemId}" class="accordianCard"> 
96                    <a class="text-decoration-none" href="${cur_RelatedItems.getFriendlyUrl()}"> 
97                        <div class="card-header accordian-header d-flex justify-content-between align-items-center row"> 
98                            <div class="col-11"> 
99                                <h2 class="accordian-title">${webContentData.title}</h2> 
100                            </div> 
101                            <div class="arrow-icon col-1 d-flex justify-content-end"> 
102                                <i class="fa-solid fa-circle-chevron-right"></i> 
103                            </div> 
104                        </div> 
105                    </a> 
106                </div> 
107            </#if> 
108        </#list> 
109    </#if> 
110</#if> 
111 
112<style> 
113    .meta-row { 
114        display: flex; 
115        flex-wrap: wrap; 
116        justify-content: space-between; 
117        align-items: center; 
118        margin-bottom: 1rem; 
119
120    .font-resized { 
121        color: #666666; 
122        font-size: 16px; 
123
124    @media (max-width: 768px) { 
125        .meta-row { 
126            flex-direction: column; 
127            align-items: flex-start; 
128
129
130</style> 
131 
132<script> 
133    // Store previous page for goBack 
134    if (document.referrer && document.referrer !== window.location.href) { 
135        sessionStorage.setItem("previousPage", document.referrer); 
136
137 
138    function goBack() { 
139        let previousPage = sessionStorage.getItem("previousPage"); 
140        if (previousPage && previousPage !== window.location.href) { 
141            window.location.href = previousPage; 
142        } else { 
143            window.location.href = '/'; // fallback 
144
145
146</script> 
PDF Flipbook Demo - turn.js
Loading PDF
0%