";
return html;
}
function createTable(columns, files, folders, filesFolders, sortOrderPreference) {
var html = "
";
html += getHeaders(columns);
html += "
";
if (sortOrderPreference == "files") {
html += getFilesHtml(files, columns);
html += getFoldersHtml(folders, columns);
} else if (sortOrderPreference == "mixed") {
html += getFilesFoldersMixedHtml(filesFolders, columns); //html += getFoldersHtml(folders, columns);
//html += getFilesHtml(files, columns);
} else {
html += getFoldersHtml(folders, columns);
html += getFilesHtml(files, columns);
} //html += getFoldersHtml(folders, columns);
//html += getFilesHtml(files, columns);
html += "
";
return html;
}
function getFilesFoldersMixedHtml(filesFolders, columns) {
var html = "";
for (var i = 0; i < filesFolders.length; i++) {
var item = filesFolders[i];
if (item.type == null || item.type == "folder") {
var folder = item;
if (folder.metadata["2"]) {
folder.metadata["2"] = new Date(folder.metadata["2"]).toLocaleString();
}
html += "
";
for (var j in columns) {
if (columns[j].columnId == 4) {
var GUID = folder.folderId;
var isShortcut = null;
if (folder.isShortcut != null) isShortcut = folder.isShortcut.data[0]; // Bit data type
if (isShortcut && folder.linkGUID != null) GUID = folder.linkGUID; //html += "
";
} else {
var file = item;
var fileName = file.name;
if (file.metadata["2"]) {
file.metadata["2"] = new Date(file.metadata["2"]).toLocaleString();
}
var GUID = file.fileId;
var isShortcut = null;
if (file.isShortcut != null) isShortcut = file.isShortcut.data[0]; // Bit data type
if (isShortcut && file.linkGUID != null) GUID = file.linkGUID;
html += "
"
// html += ""
}
}
return html;
}
function getFoldersHtml(folders, columns) {
var html = "";
for (var i = 0; i < folders.length; i++) {
var folder = folders[i];
if (folder.metadata["2"]) {
folder.metadata["2"] = new Date(folder.metadata["2"]).toLocaleString();
}
html += "
";
for (var j in columns) {
if (columns[j].columnId == 4 || columns[j].name == "Title" && columns[j].columnId == 1) {
var GUID = folder.folderId;
var isShortcut = null;
if (folder.isShortcut != null) isShortcut = folder.isShortcut.data[0]; // Bit data type
if (isShortcut && folder.linkGUID != null) GUID = folder.linkGUID; //html += "
";
}
return html;
}
function getFilesHtml(files, columns) {
var html = "";
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (file.metadata["2"]) {
file.metadata["2"] = new Date(file.metadata["2"]).toLocaleString();
}
var GUID = file.fileId;
var isShortcut = null;
if (file.isShortcut != null) isShortcut = file.isShortcut.data[0]; // Bit data type
if (isShortcut && file.linkGUID != null) GUID = file.linkGUID;
var fileName = file.name;
html += "
";
}
return html;
}
function pushBreadcrumb(folder) {
var html = "/";
html += "" + folder.name + "";
$(this).closest(".rf-table").find(".breadcrumbs").append(html);
}
function getHeaders(columns) {
var html = "";
for (var i in columns) {
html += "
" + columns[i].name + "
";
}
html += "
Open File
";
return html;
}
function setHandlers() {
$(".rf-table").on('click', ".rf-link", openFile);
$(".rf-treeview").on('click', 'a', treeviewNavigate);
$(".rf-treeview").on('click', 'span', treeviewExpand);
$(".rf-table").on('click', ".rf-folder", tableNavigate);
$(".rf-table").on('click', ".breadcrumbs a", breadcrumbNavigate);
if (publicTokenGUID == null) {
$(".rf-table").on('keyup', '.rf-search-box', filter);
}
$(".rf-table").on('click', '.back', back);
$(".rf-table").on('click', '.logout', logout);
$(".rf-table").on('click', '.searchFolder', searchFolder);
$(".rf-table").on('keydown', '.rf-search-box', function (e) {
if (e.which == 13) {
searchFolder(e);
}
}); // $("#searchBox").keydown(function(e) {
// if(e.which == 13) {
// searchFolder()
// }
// })
// $(".rf-table").on('keyup', '.rf-search-box', function (e) {
// if (e.keyCode == 13) {
// searchFolder(e)
// }
// })
}
var currentColumns = null;
var realFileServiceURL = "https://rf-sb-prod.rtsclients.com/";
function searchFolder(evt) {
var data = $(this).closest(".rf-tables").data;
var columns = $(this).closest('.rf-table').data("columns");
var searchBox = document.getElementById("searchBox");
var searchText = searchBox.value;
var tmpSearchText = searchText.replaceAll("-", " "); // elasticsearch uses "-" and whitespace as a word delimiter by default so searching with "-" is a problem
tmpSearchText = tmpSearchText.replaceAll("'", "");
if (searchText != null && searchText != "") {
var folderGUID = currentFolderGUID;
if (folderGUID == null) {
if (evt.type == 'click') {
folderGUID = $(this).closest('.rf-table').data("folder-id");
} else if (evt.type == 'keydown') {
folderGUID = $("#searchBox").closest('.rf-table').data("folder-id");
}
}
var accountGUID = $(this).closest('.rf-table').data("account-guid");
if (accountGUID == undefined && (publicTokenGUID == "06f35930-f697-4f4d-a6b1-0f374955a8a8" || publicTokenGUID == "df873ea2-135e-4639-b316-8aaeb1b536c2" || publicTokenGUID == "a1d4d735-6bc3-46e3-a3c3-b50e57bace16")) {
accountGUID = $(".rf-table").data("account-guid");
}
var widgetId = $(this).closest('.rf-table').data("widget-id");
if (widgetId == undefined && (publicTokenGUID == "06f35930-f697-4f4d-a6b1-0f374955a8a8" || publicTokenGUID == "df873ea2-135e-4639-b316-8aaeb1b536c2" || publicTokenGUID == "a1d4d735-6bc3-46e3-a3c3-b50e57bace16")) {
widgetId = $(".rf-table").data("widget-id");
}
$.ajax({
url: realFileServiceURL + "SearchFiles",
type: "GET",
dataType: "jsonp",
data: {
tokenGUID: publicTokenGUID,
folderGUID: folderGUID,
searchText: tmpSearchText
},
success: function success(data) {
if (data == null || data.length == 0) alert("No search results found.");else displaySearchResults(folderGUID, widgetId, data, searchText);
},
error: function error(_error) {
alert("No search results found.");
}
});
}
}
function displaySearchResults(folderGUID, widgetId, filesFolders, searchText) {
var html = "";
var columns = currentColumns;
var files = [];
var folders = [];
for (var i = 0; i < filesFolders.length; i++) {
var item = filesFolders[i];
if (item.title != null) {
if (item.type == "folder") folders.push(item);else files.push(item);
}
}
files = files.sort(function (a, b) {
if (a.title < b.title) return -1;else if (a.title > b.title) return 1;
return 0;
});
folders = folders.sort(function (a, b) {
if (a.title < b.title) return -1;else if (a.title > b.title) return 1;
return 0;
});
filesFolders = files.concat(folders);
searchText = searchText.toLowerCase();
for (var i = 0; i < filesFolders.length; i++) {
var item = filesFolders[i];
var title = item.title.toLowerCase();
var name = item.name.toLowerCase();
var description = item.description.toLowerCase();
if (!item.isShortcut && !item.parentGUIDs.includes("RECYCLE") && (name.includes(searchText) || title.includes(searchText) || description.includes(searchText))) {
if (item.type == null || item.type == "folder") {
var folder = item;
html += "
";
var GUID = folder.GUID;
var isShortcut = null;
if (folder.isShortcut && folder.linkGUID != null) GUID = folder.linkGUID; //html += "