You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by si...@apache.org on 2012/03/21 10:38:19 UTC
svn commit: r1303327 [3/3] - in
/incubator/stanbol/branches/0.9.0-incubating/contenthub: ./
ldpath/src/main/java/org/apache/stanbol/contenthub/ldpath/solr/
search/featured/src/main/java/org/apache/stanbol/contenthub/search/featured/
search/related/src/...
Modified: incubator/stanbol/branches/0.9.0-incubating/contenthub/web/src/main/resources/org/apache/stanbol/contenthub/web/templates/org/apache/stanbol/contenthub/web/resources/StoreResource/index.ftl
URL: http://svn.apache.org/viewvc/incubator/stanbol/branches/0.9.0-incubating/contenthub/web/src/main/resources/org/apache/stanbol/contenthub/web/templates/org/apache/stanbol/contenthub/web/resources/StoreResource/index.ftl?rev=1303327&r1=1303326&r2=1303327&view=diff
==============================================================================
--- incubator/stanbol/branches/0.9.0-incubating/contenthub/web/src/main/resources/org/apache/stanbol/contenthub/web/templates/org/apache/stanbol/contenthub/web/resources/StoreResource/index.ftl (original)
+++ incubator/stanbol/branches/0.9.0-incubating/contenthub/web/src/main/resources/org/apache/stanbol/contenthub/web/templates/org/apache/stanbol/contenthub/web/resources/StoreResource/index.ftl Wed Mar 21 09:38:18 2012
@@ -19,132 +19,121 @@
<@common.page title="Contenthub" hasrestapi=true>
<div class="panel" id="webview">
-<table>
- <tr>
- <td>
- <fieldset>
- <legend>Select an index</legend>
- <div id="indexDiv"><#--this div will be populated by ajax--></div>
- </fieldset>
- </td>
- <td>
- <div class="searchbox" align="right">
- <table><td>
- <tr><input type="text" id="searchKeywords" name="searchKeywords" onkeydown="if (event.keyCode == 13) document.getElementById('searchButton').click()" /><input id="searchButton" type="button" value="Search" onClick="javascript:performSearch();" /></tr>
- <tr><div><a href="${it.publicBaseUri}contenthub/${it.indexName}/search/featured" />Search Page</a></div></tr>
- <br/>
- <tr><div><a href="${it.publicBaseUri}contenthub/ldpath">Submit Index</a></div></tr>
- </td></table>
- </div>
- </td>
- </tr>
-</table>
-
-<div id="searchResult" class="invisible"></div>
-
-<#--
-<em><strong>Disclaimer</strong>: this endpoint is a proof of concept /
-<strong>experimental</strong> feature. It does not actually store the content
-on the disk, just in memory.</em>
--->
-
-<h3>Recently uploaded Content Items</h3>
-
-<div id="storeContents" class="storeContents">
- <div>
- <table id="recentlyEnhancedTable">
- <div>
- <tr>
- <th></th>
- <th>Title</th>
- <th>Media type</th>
- <th>Enhancements <#--TODO: fix image path <img src="${it.staticRootUrl}/contenthub/images/rdf.png" alt="Format: RDF"/> --></th>
- </tr>
- <#list it.recentlyEnhancedItems as item>
- <tr>
- <td>
- <img src="${it.staticRootUrl}/contenthub/images/edit_icon_16.png" onClick="javascript:editContentItem('${item.localId}', '${item.title?js_string}');" title="Edit this item" />
- <img src="${it.staticRootUrl}/contenthub/images/delete_icon_16.png" onClick="javascript:deleteContentItem('${item.localId}');" title="Delete this item" />
- </td>
- <td><a href="${item.dereferencableURI}" title="${item.dereferencableURI}"><#if item.title??>${item.title}<#else>${item.localId}</#if></a></td>
- <td>${item.mimetype}</td>
- <td><a href="${it.publicBaseUri}contenthub/${it.indexName}/store/metadata/${item.localId}">${item.enhancementCount}</a></td>
- </tr>
- </#list>
- </ul>
- </div>
- </table>
- <ul class="previousNext">
- <#if it.moreRecentItemsUri?exists>
- <li class="moreRecent"><a href="${it.moreRecentItemsUri}">More recent items</a></li>
- </#if>
- <#if it.olderItemsUri?exists>
- <li class="older"><a href="${it.olderItemsUri}">Older items</a></li>
- </#if>
- </ul>
- </div>
-</div>
-
-
-<div id="editingDiv"> </div>
-
-<h3>Submit Constraints to Content Item for analysis</h3>
-
-<fieldset>
- <legend>Give Field:Value for your content</legend>
- <input type="text" id="fieldTitle" value="title" readonly="readonly"/> : <input type="text" id="valueTitle" />
- <div id="constraintsDiv" style="max-height:190px;overflow:auto">
- </div>
-
- <br/>
- <label onClick="javascript:addConstraint();">
- <img src="${it.staticRootUrl}/contenthub/images/add_icon_16.png" /> Add a new constraint
- </label>
-</fieldset>
-<br/>
+ <table>
+ <tr>
+ <td>
+ <fieldset>
+ <legend>Select an index</legend>
+ <div id="indexDiv"><#--this div will be populated by ajax--></div>
+ </fieldset>
+ </td>
+ <td>
+ <div class="searchbox" align="right">
+ <table>
+ <td>
+ <tr><input type="text" id="searchKeywords" name="searchKeywords" onkeydown="if (event.keyCode == 13) document.getElementById('searchButton').click()" /><input id="searchButton" type="button" value="Search" onClick="javascript:performSearch();" /></tr>
+ <tr><div><a href="${it.publicBaseUri}contenthub/${it.indexName}/search/featured" />Search Page</a></div></tr>
+ <br/>
+ <tr><div><a href="${it.publicBaseUri}contenthub/ldpath">Submit Index</a></div></tr>
+ </td>
+ </table>
+ </div>
+ </td>
+ </tr>
+ </table>
+
+ <div id="searchResult" class="invisible"></div>
+
+ <h3>Recently uploaded Content Items</h3>
+ <div id="storeContents" class="storeContents">
+ <div>
+ <table id="recentlyEnhancedTable">
+ <div>
+ <tr>
+ <th></th>
+ <th>Title</th>
+ <th>Media type</th>
+ <th>Enhancements <#--TODO: fix image path <img src="${it.staticRootUrl}/contenthub/images/rdf.png" alt="Format: RDF"/> --></th>
+ </tr>
+ <#list it.recentlyEnhancedItems as item>
+ <tr>
+ <td>
+ <img src="${it.staticRootUrl}/contenthub/images/edit_icon_16.png" onClick="javascript:editContentItem('${item.localId}', '${item.title?js_string}');" title="Edit this item" />
+ <img src="${it.staticRootUrl}/contenthub/images/delete_icon_16.png" onClick="javascript:deleteContentItem('${item.localId}');" title="Delete this item" />
+ </td>
+ <td><a href="${item.dereferencableURI}" title="${item.dereferencableURI}"><#if item.title??>${item.title}<#else>${item.localId}</#if></a></td>
+ <td>${item.mimetype}</td>
+ <td><a href="${it.publicBaseUri}contenthub/${it.indexName}/store/metadata/${item.localId}">${item.enhancementCount}</a></td>
+ </tr>
+ </#list>
+ </div>
+ </table>
+ <ul class="previousNext">
+ <#if it.moreRecentItemsUri?exists>
+ <li class="moreRecent"><a href="${it.moreRecentItemsUri}">More recent items</a></li>
+ </#if>
+ <#if it.olderItemsUri?exists>
+ <li class="older"><a href="${it.olderItemsUri}">Older items</a></li>
+ </#if>
+ </ul>
+ </div>
+ </div>
-<h3>Submit a new Content Item for analysis</h3>
+ <div id="editingDiv"> </div>
-<form method="POST" id="contentForm" accept-charset="utf-8" onSubmit = "return setConstraints();">
+ <h3>Submit Constraints to Content Item for analysis</h3>
<fieldset>
- <input type="hidden" id="constraintsContent" name="constraints" value="" />
- <input type="hidden" name="title" value="" />
- <input type="hidden" id="uriContent" name="uri" value="" />
- <legend>Submit raw text content</legend>
- <p><textarea rows="15" id="contentTextArea" name="content"></textarea></p>
- <p><input type="submit" id="contentSubmit" value="Submit text" /></p>
+ <legend>Give Field:Value for your content</legend>
+ <input type="text" id="fieldTitle" value="title" readonly="readonly"/> : <input type="text" id="valueTitle" />
+ <div id="constraintsDiv" style="max-height:190px;overflow:auto"></div>
+ <br/>
+ <label onClick="javascript:addConstraint();">
+ <img src="${it.staticRootUrl}/contenthub/images/add_icon_16.png" /> Add a new constraint
+ </label>
</fieldset>
-</form>
-
-<form method="POST" id="urlForm" accept-charset="utf-8" onSubmit = "return setConstraints();">
- <fieldset>
- <input type="hidden" id="constraintsURL" name="constraints" value="" />
- <input type="hidden" name="title" value="" />
- <input type="hidden" id="uriURL" name="uri" value="" />
- <legend>Submit a remote public resource by URL</legend>
- <p>
- <input name="url" type="text" class="url" />
- <input type="submit" id="urlSubmit" value="Submit URL" />
- </p>
- </fieldset>
-</form>
-
-<form method="POST" id="fileForm" accept-charset="utf-8" enctype="multipart/form-data" onSubmit = "return setConstraints();">
- <fieldset>
- <input type="hidden" id="constraintsFile" name="constraints" value="" />
- <input type="hidden" name="title" value="" />
- <input type="hidden" id="uriFile" name="uri" value="" />
- <legend>Upload a local file</legend>
- <p>
- <input id="file" name="file" type="file"/>
- <input type="submit" id="fileSubmit" value="Submit file" />
- </p>
- </fieldset>
-</form>
+ <br/>
+
+ <h3>Submit a new Content Item for analysis</h3>
+ <form method="POST" id="contentForm" accept-charset="utf-8" onSubmit = "return setConstraints();">
+ <fieldset>
+ <input type="hidden" id="constraintsContent" name="constraints" value="" />
+ <input type="hidden" name="title" value="" />
+ <input type="hidden" id="uriContent" name="uri" value="" />
+ <legend>Submit raw text content</legend>
+ <p><textarea rows="15" id="contentTextArea" name="content"></textarea></p>
+ <p><input type="submit" id="contentSubmit" value="Submit text" /></p>
+ </fieldset>
+ </form>
+
+ <form method="POST" id="urlForm" accept-charset="utf-8" onSubmit = "return setConstraints();">
+ <fieldset>
+ <input type="hidden" id="constraintsURL" name="constraints" value="" />
+ <input type="hidden" name="title" value="" />
+ <input type="hidden" id="uriURL" name="uri" value="" />
+ <legend>Submit a remote public resource by URL</legend>
+ <p>
+ <input name="url" type="text" class="url" />
+ <input type="submit" id="urlSubmit" value="Submit URL" />
+ </p>
+ </fieldset>
+ </form>
+
+ <form method="POST" id="fileForm" accept-charset="utf-8" enctype="multipart/form-data" onSubmit = "return setConstraints();">
+ <fieldset>
+ <input type="hidden" id="constraintsFile" name="constraints" value="" />
+ <input type="hidden" name="title" value="" />
+ <input type="hidden" id="uriFile" name="uri" value="" />
+ <legend>Upload a local file</legend>
+ <p>
+ <input id="file" name="file" type="file"/>
+ <input type="submit" id="fileSubmit" value="Submit file" />
+ </p>
+ </fieldset>
+ </form>
</div>
<div class="panel" id="restapi" style="display: none;">
-<h3>Uploading new content to the Contenthub</h3>
+ <h3>Uploading new content to the Contenthub</h3>
<p>Contenthub lives at the endpoint starting with "contenthub":</p>
<code>${it.publicBaseUri}contenthub/</code>
@@ -217,13 +206,15 @@ Tutorials on Stanbol Contenthub can be f
<h4>The RESTful API of the Contenthub</h4>
+<#-- Will be written by Meric -->
</div>
+
<script language="javascript">
- var counter = 0;
-
- function init() {
+ var counter = 0;
+
+ function init() {
$.get("${it.publicBaseUri}contenthub/ldpath", function(indexes) {
innerStr = "<select id='indexSelect' onChange='javascript:redirectIndex();'>" + "<option value='contenthub'>contenthub</option>"
for(var index in indexes) {
@@ -237,187 +228,184 @@ Tutorials on Stanbol Contenthub can be f
$(document).ready(init);
- function redirectIndex(){
- var index = $("#indexSelect").val();
- window.location.replace("${it.publicBaseUri}contenthub/" + index + "/store/");
+ function redirectIndex() {
+ var index = $("#indexSelect").val();
+ window.location.replace("${it.publicBaseUri}contenthub/" + index + "/store/");
}
- function setConstraints(){
- var titleStr = document.getElementById("valueTitle").value;
- var fileStr = document.getElementById("file").value;
- if((!fileStr || fileStr == "") && (!titleStr || titleStr == "")) {
- // control for the title input... it must exist
- alert('You should enter title for your content');
- return false;
- }
+ function setConstraints() {
+ var titleStr = document.getElementById("valueTitle").value;
+ var fileStr = document.getElementById("file").value;
+ if((!fileStr || fileStr == "") && (!titleStr || titleStr == "")) {
+ // control for the title input... it must exist
+ alert('You should enter title for your content');
+ return false;
+ }
- var i;
- var result = JSON.parse("{}");
- for(i=0; i<=counter; i++){
- if (document.getElementById("textDiv" + i)) {
- var field = jQuery.trim(document.getElementsByName("fieldText"+i)[0].value);
- var value = jQuery.trim(document.getElementsByName("valueText"+i)[0].value);
-
- if(!field || !value) {
- continue;
- }
-
- if(result[field] == null) {
- result[field] = new Array();
- }
- var values = value.split(",");
- for(j=0; j<values.length; j++){
- result[field].push(jQuery.trim(values[j]));
- }
- }
- }
-
- var constraints = document.getElementsByName('constraints');
- var title = document.getElementsByName('title');
- for (var i in constraints) {
- constraints[i].value = JSON.stringify(result);
- title[i].value = document.getElementById('valueTitle').value;
- }
- return true;
- }
-
- function addConstraint(){
- var newCons = document.createElement('div');
- newCons.setAttribute('id','textDiv' + counter);
- var fieldName = "fieldText"+counter;
- var valueName = "valueText"+counter;
- var url = "javascript:removeConstraint(" + counter + ");";
-
- newCons.innerHTML = "<br/><input type='text' name=" + fieldName + " />"
- + " : "
- + "<input type='text' name=" + valueName + " />"
- + " <img src='${it.staticRootUrl}/contenthub/images/delete_icon_16.png' title='Remove' onClick=" + url + " />";
-
- document.getElementById("constraintsDiv").appendChild(newCons);
- document.getElementsByName(fieldName)[0].focus();
- counter++;
- }
-
- function removeConstraint(divNo){
- var constraintsDiv = document.getElementById('constraintsDiv');
- constraintsDiv.removeChild(document.getElementById('textDiv'+divNo));
- }
-
- function startEditing(set){
- if(set){
- $("#contentForm").attr("action", "/contenthub/${it.indexName}/store/update");
- $("#contentSubmit").attr("value", "Update text");
- $("#urlForm").attr("action", "/contenthub/${it.indexName}/store/update");
- $("#urlSubmit").attr("value", "Update URL");
- $("#fileForm").attr("action", "/contenthub/${it.indexName}/store/update");
- $("#fileSubmit").attr("value", "Update file");
- }
- else{
- $("#contentForm").attr("action", "");
- $("#contentSubmit").attr("value", "Submit text");
- $("#urlForm").attr("action", "");
- $("#urlSubmit").attr("value", "Submit URL");
- $("#fileForm").attr("action", "");
- $("#fileSubmit").attr("value", "Submit file");
- }
- }
-
- function cancelEditing(){
- var uris = document.getElementsByName('uri');
- for (var i in uris) {
- uris[i].value = "";
- }
- document.getElementById("editingDiv").innerHTML = "";
- startEditing(false);
- }
-
- function editContentItem(vlocalid, vtitle) {
- var lurl = "${it.publicBaseUri}contenthub/${it.indexName}/store/edit/" + vlocalid;
- document.getElementById("constraintsDiv").innerHTML = "";
- counter=0;
- $.ajax({
- url: lurl,
- type: "GET",
- async: true,
- cache: false,
- success: function(jsonCons) {
-
- var contentItem = JSON.parse(jsonCons);
- if(contentItem != null) {
- startEditing(true);
- //fill the text content item related components in the user interface
- // TODO: use more mimeType
- if(contentItem["mimeType"] == "text/plain"){
- document.getElementById("contentTextArea").value = contentItem["content"];
- } else {
- document.getElementById("contentTextArea").value = "";
- }
- var uris = document.getElementsByName('uri');
- for (var i in uris) {
- uris[i].value = contentItem["uri"];
- }
- document.getElementById("editingDiv").innerHTML = '<img src="${it.staticRootUrl}/contenthub/images/delete_icon_16.png" title="Cancel Editing" onClick="javascript:cancelEditing()" />'
- + " You are editing Content Item with title: <b>" + contentItem["title"] + "</b>";
- document.getElementById("valueTitle").value = contentItem["title"];
-
- //delete already consumed values from json representation so that they will not be added to the constraints
- delete contentItem["content"];
- delete contentItem["uri"];
- delete contentItem["mimeType"];
- delete contentItem["title"];
-
- for(var p in contentItem) {
- if(contentItem.hasOwnProperty(p)) {
- var fieldHtmlName = getHtmlName(p.toString());
- addConstraint();
- var createdConstraintIndex = counter - 1;
- document.getElementsByName("fieldText"+createdConstraintIndex)[0].value = fieldHtmlName;
- document.getElementsByName("valueText"+createdConstraintIndex)[0].value = contentItem[p].substring(1, contentItem[p].length-1);
- }
- }
- }
- },
- error: function(content) {
- alert(result.status + ' ' + result.statusText);
- }
- });
- }
-
- function deleteContentItem(vlocalid) {
- if(vlocalid == document.getElementById("uriContent").value){
- cancelEditing();
- }
- var lurl = "${it.publicBaseUri}contenthub/${it.indexName}/store/" + vlocalid;
- $.ajax({
- url: lurl,
- type: "DELETE",
- async: true,
- cache: false,
- success: function() {
- $("#storeContents").load("${it.publicBaseUri}contenthub/${it.indexName}/store #storeContents>div");
- },
- error: function() {
- alert(result.status + ' ' + result.statusText);
- }
- });
- }
-
- function performSearch() {
- var lurl = "${it.publicBaseUri}contenthub/${it.indexName}/search/featured?fromStore=\"y\"&queryTerm=" + $("#searchKeywords").val();
- window.location.replace(lurl);
- }
-
- function getHtmlName(name){
- lastUnderscore = name.lastIndexOf("_");
- if (lastUnderscore >= 0) {
- underScoreExtension = name.substring(lastUnderscore);
- if (underScoreExtension == "_t" || underScoreExtension == "_l" || underScoreExtension == "_d" || underScoreExtension == "_dt") {
- return name.substring(0, lastUnderscore);
- }
+ var i;
+ var result = JSON.parse("{}");
+ for(i=0; i<=counter; i++) {
+ if (document.getElementById("textDiv" + i)) {
+ var field = jQuery.trim(document.getElementsByName("fieldText"+i)[0].value);
+ var value = jQuery.trim(document.getElementsByName("valueText"+i)[0].value);
+ if(!field || !value) {
+ continue;
+ }
+ if(result[field] == null) {
+ result[field] = new Array();
+ }
+ var values = value.split(",");
+ for(j=0; j<values.length; j++) {
+ result[field].push(jQuery.trim(values[j]));
+ }
+ }
+ }
+
+ var constraints = document.getElementsByName('constraints');
+ var title = document.getElementsByName('title');
+ for (var i in constraints) {
+ constraints[i].value = JSON.stringify(result);
+ title[i].value = document.getElementById('valueTitle').value;
+ }
+ return true;
}
- return name;
- }
-
+
+ function addConstraint() {
+ var newCons = document.createElement('div');
+ newCons.setAttribute('id','textDiv' + counter);
+ var fieldName = "fieldText"+counter;
+ var valueName = "valueText"+counter;
+ var url = "javascript:removeConstraint(" + counter + ");";
+
+ newCons.innerHTML = "<br/><input type='text' name=" + fieldName + " />"
+ + " : "
+ + "<input type='text' name=" + valueName + " />"
+ + " <img src='${it.staticRootUrl}/contenthub/images/delete_icon_16.png' title='Remove' onClick=" + url + " />";
+
+ document.getElementById("constraintsDiv").appendChild(newCons);
+ document.getElementsByName(fieldName)[0].focus();
+ counter++;
+ }
+
+ function removeConstraint(divNo) {
+ var constraintsDiv = document.getElementById('constraintsDiv');
+ constraintsDiv.removeChild(document.getElementById('textDiv'+divNo));
+ }
+
+ function startEditing(set) {
+ if(set) {
+ $("#contentForm").attr("action", "/contenthub/${it.indexName}/store/update");
+ $("#contentSubmit").attr("value", "Update text");
+ $("#urlForm").attr("action", "/contenthub/${it.indexName}/store/update");
+ $("#urlSubmit").attr("value", "Update URL");
+ $("#fileForm").attr("action", "/contenthub/${it.indexName}/store/update");
+ $("#fileSubmit").attr("value", "Update file");
+ }
+ else {
+ $("#contentForm").attr("action", "");
+ $("#contentSubmit").attr("value", "Submit text");
+ $("#urlForm").attr("action", "");
+ $("#urlSubmit").attr("value", "Submit URL");
+ $("#fileForm").attr("action", "");
+ $("#fileSubmit").attr("value", "Submit file");
+ }
+ }
+
+ function cancelEditing() {
+ var uris = document.getElementsByName('uri');
+ for (var i in uris) {
+ uris[i].value = "";
+ }
+ document.getElementById("editingDiv").innerHTML = "";
+ startEditing(false);
+ }
+
+ function editContentItem(vlocalid, vtitle) {
+ var lurl = "${it.publicBaseUri}contenthub/${it.indexName}/store/edit/" + vlocalid;
+ document.getElementById("constraintsDiv").innerHTML = "";
+ counter=0;
+ $.ajax({
+ url: lurl,
+ type: "GET",
+ async: true,
+ cache: false,
+ success: function(jsonCons) {
+ var contentItem = JSON.parse(jsonCons);
+ if(contentItem != null) {
+ startEditing(true);
+ //fill the text content item related components in the user interface
+ // TODO: use more mimeType
+ if(contentItem["mimeType"] == "text/plain") {
+ document.getElementById("contentTextArea").value = contentItem["content"];
+ } else {
+ document.getElementById("contentTextArea").value = "";
+ }
+ var uris = document.getElementsByName('uri');
+ for (var i in uris) {
+ uris[i].value = contentItem["uri"];
+ }
+ document.getElementById("editingDiv").innerHTML = '<img src="${it.staticRootUrl}/contenthub/images/delete_icon_16.png" title="Cancel Editing" onClick="javascript:cancelEditing()" />'
+ + " You are editing Content Item with title: <b>" + contentItem["title"] + "</b>";
+ document.getElementById("valueTitle").value = contentItem["title"];
+
+ //delete already consumed values from json representation so that they will not be added to the constraints
+ delete contentItem["content"];
+ delete contentItem["uri"];
+ delete contentItem["mimeType"];
+ delete contentItem["title"];
+
+ for(var p in contentItem) {
+ if(contentItem.hasOwnProperty(p)) {
+ var fieldHtmlName = getHtmlName(p.toString());
+ addConstraint();
+ var createdConstraintIndex = counter - 1;
+ document.getElementsByName("fieldText"+createdConstraintIndex)[0].value = fieldHtmlName;
+ document.getElementsByName("valueText"+createdConstraintIndex)[0].value = contentItem[p].substring(1, contentItem[p].length-1);
+ }
+ }
+ }
+ },
+ error: function(content) {
+ alert(result.status + ' ' + result.statusText);
+ }
+ });
+ }
+
+ function deleteContentItem(vlocalid) {
+ if(vlocalid == document.getElementById("uriContent").value) {
+ cancelEditing();
+ }
+ var lurl = "${it.publicBaseUri}contenthub/${it.indexName}/store/" + vlocalid;
+ $.ajax({
+ url: lurl,
+ type: "DELETE",
+ async: true,
+ cache: false,
+ success: function() {
+ $("#storeContents").load("${it.publicBaseUri}contenthub/${it.indexName}/store #storeContents>div");
+ },
+ error: function() {
+ alert(result.status + ' ' + result.statusText);
+ }
+ });
+ }
+
+ function performSearch() {
+ var lurl = "${it.publicBaseUri}contenthub/${it.indexName}/search/featured?fromStore=\"y\"&queryTerm=" + $("#searchKeywords").val();
+ window.location.replace(lurl);
+ }
+
+ function getHtmlName(name) {
+ lastUnderscore = name.lastIndexOf("_");
+ if(lastUnderscore >= 0) {
+ underScoreExtension = name.substring(lastUnderscore);
+ if(underScoreExtension == "_t" || underScoreExtension == "_l" || underScoreExtension == "_d" || underScoreExtension == "_dt") {
+ return name.substring(0, lastUnderscore);
+ }
+ }
+ return name;
+ }
+
</script>
</...@common.page>
</#escape>