function copytoclipboard() {
var text = $("#showStringValue").val();
$("#notification").text("Texten har kopierat till Urklipp");
copyText(text);
}
function copyText(text) {
function selectElementText(element) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(element);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
}
}
var element = document.createElement('DIV');
element.textContent = text;
document.body.appendChild(element);
selectElementText(element);
document.execCommand('copy');
element.remove();
}
function createTree() {
// console.log("create tree");
$.getJSON(
'/ajax/folderAndDocumentList_editPage.php?pageId='.intPageId,
function (data) {
$('#documentListAllPage').tree({
data: data,
autoOpen: true,
dragAndDrop: true,
onCreateLi: function (node, li) {
if (node.file != undefined) {
li.find('.jqtree-element').append(
" " +
" " +
"
" +
" " + node.fileSize + " " + node.dateCreated + "" +
" " +
"
"
);
} else {
li.find('.jqtree-title').prop("title", strInfoEditFolder);
li.find('.jqtree-element').append(
" " +
"" +
" " + node.dateCreated + " " +
" " +
"" +
"
"
);
}
},
onCanMoveTo: function (moved_node, target_node, position) {
if (target_node.file && position == "inside") {
return false;
}
//forbid moving more then 3 level
//Here we calculate depth: Moved node children + Target node parents
var depth = 0;
var movedNodeTmp = moved_node;
while (movedNodeTmp.children.length != 0) {
depth++;
var movedNodeNext = movedNodeTmp.children[0];
for (var i = 0; i < movedNodeTmp.children.length; i++) {
if (movedNodeTmp.children[i].length != 0) {
movedNodeNext = movedNodeTmp.children[i];
}
}
movedNodeTmp = movedNodeNext;
}
while (target_node.parent != null) {
depth++;
target_node = target_node.parent;
}
if ((depth > 2 && moved_node.file != true)) {
// console.log("Stopped at depth " + depth);
return false;
}
// console.log("Depth: " + depth);
return true;
}
});
}
);
}
var $Rworks = 0;
// $(document).ready(function () {
$(window).on("load", function () {
// $R('.wysiwyg');
// alert("pageid: " + pageIdUpload);
if (pageIdUpload > 0) {
var arButtons = ["redo", "undo", "link", "image", "format", "bold", "italic", "lists", "chatgpt"];
} else {
var arButtons = ["redo", "undo", "link", "format", "bold", "italic", "lists", "chatgpt"];
}
//if (brfPremium > 0) {
// arButtons.unshift("html");
// Add html editing
//}
if ($R) $R("#input-content", {
lang: "sv",
plugins: ["table", "fontsize", "fontcolor", "imagemanager", "chatgpt"],
buttons: arButtons,
imageUpload: "/ajax/redactor/uploadimage_redactor.php",
imageData: {pageId: (typeof pageIdUpload != "undefined") ? pageIdUpload : 0},
imageResizable: true,
imagePosition: true,
callbacks: {
upload: {
error: function (response) {
// Hack to parse html entities in error message back to text
var tmpElement = document.createElement('tmpElement');
tmpElement.innerHTML = response.message;
var decodedMessage = tmpElement.firstChild.nodeValue;
alert(decodedMessage);
// console.log(response.message);
}
}
}
}); // Loading on class name does not work, use ID instead
$Rworks = setTimeout(function () {
console.log("try to load readctor");
if (typeof $R !== "undefined") {
console.log("loading redactor");
// // $R('.wysiwyg');
// $R('textarea', {focus: true});
}
}, 1500);
$('#documentListAllPage').bind(
'tree.move',
function (event) {
event.preventDefault();
// do the move first, and _then_ POST back.
event.move_info.do_move();
$.post('/ajax/save_folderAndDocumentList.php', {tree: $(this).tree('toJson'), pageId: intPageId});
}
);
$('#rename-folder').on('shown.bs.modal', function () {
$('#folder_name').focus();
});
$('#documentListAllPage').bind(
'tree.dblclick',
function (event) {
if (event.node != undefined) {
if (event.node.file == undefined) {
$("#folder_name").val(event.node.name);
$("#folder_id").val(event.node.id);
$("#rename-folder").modal('show');
} else {
// console.log(location);
var filename = filenameById(event.node.id, event.node.name);
copyText(filename);
showNotification("Link to the document is copied in clipboard");
//prompt("Copy filename for sharing purposes",filename);
//$("#showStringValue").val(filename);
//$("#showString").modal();
}
}
}
);
setTimeout(function () {
createTree();
}, 2000);
});
function filenameById(id, name) {
name = name || "";
// var filename = location.origin + "/" + strBrfSlug + "/dokument/id/" + id + "/file/" + encodeURI(name);
var filename = location.origin + "/" + strBrfSlug + "/dokument/id/" + id + "/file/" + encodeURI(name);
return filename;
}
function modalFilename(id, name) {
filename = filenameById(id, name);
//prompt("Copy filename for sharing purposes", filename);
$("#showStringValue").val(filename);
$("#showString").modal();
}
function showNotification(notification) {
$("#notificationBox").html(notification).fadeIn(500).delay(750).fadeOut(1500);
}
function submitFolderNameChange() {
// console.log("start renaming");
if ($("#folder_name").val().trim().length < 1) {
$("#rename_message").show().text(strInfoRenameNothingEntered);
//setTimeout(function () {
// $("#rename_message").fadeOut();
//}, 5000);
// console.log("renaming stopped");
return;
} else if ($("#folder_name").val().trim().length > 30) {
$("#rename_message").show().text("Mappens namn får vara max 30 tecken.");
setTimeout(function () {
$("#rename_message").fadeOut();
}, 5000);
return;
}
$.ajax({
type: "POST",
url: strCurrentUrl + "#files",
data: {
folder_name: $("#folder_name").val(),
folder_id: $("#folder_id").val(),
action: "rename_folder"
},
success: function (data) {
// console.log("renaming done");
reloadTree(0);
$("#rename-folder").modal('hide');
// window.location.reload();
}
});
}
function closeFolderRename() {
//window.location.reload();
$("#rename-folder").hide();
}
$("#rename-folder").hide();
function addFolder(folderName) {
folderName = folderName || document.getElementById("folder").value;
console.log("SaveFolderLine513");
$.ajax({
type: "POST",
url: strCurrentUrl + "#files",
data: {
folder_name: folderName,
folder_action: "add_folder",
action: "add_folder"
},
success: function (data) {
// console.log("Add folder done");
reloadTree(0);
// window.location.reload();
}
});
}
function deleteFile(fileId) {
var conf = confirm("Are you sure you want to delete this file ?");
if (conf == true) {
$.ajax({
type: "POST",
url: window.location.href,
data: {
deleteFile: fileId,
url: window.location.href,
action: "delete_file"
},
success: function (data) {
data = data.split("")[0];
// console.log(data);
var node = $('#documentListAllPage').tree('getNodeById', fileId);
$('#documentListAllPage').tree('removeNode', node);
if (data.indexOf("SUCCESS") != -1) {
reloadTree(0);
// window.location.reload();
} else {
alert("Cannot delete a file !");
reloadTree(0);
}
//reloadTree(1000);
// window.location = window.location.href;
}
});
}
}
function deleteFolder(folderId) {
var conf = confirm("Är du säker på att du vill radera mappen?");
if (conf == true) {
$.ajax({
type: "POST",
url: window.location.href,
data: {
deleteFolder: folderId,
url: window.location.href,
action: "delete_folder"
},
success: function (data) {
data = data.split("")[0];
var node = $('#documentListAllPage').tree('getNodeById', folderId);
$('#documentListAllPage').tree('removeNode', node);
// console.log(data);
if (data.indexOf("SUCCESS") != -1) {
// window.location.reload();
reloadTree(0);
} else {
$("#notice").text("Mappen måste mappen vara tom för att kunna tas bort!");
setTimeout(function () {
$("#notice").text("");
}, 5000);
reloadTree(0);
}
//window.location.reload();
}
});
}
}
var treeData = null;
function reloadTree(intDelay) {
intDelay = typeof intDelay !== 'undefined' ? intDelay : 1000;
setTimeout(function () {
$.get('/ajax/folderAndDocumentList_editPage.php?pageId=' + intPageId, function (data) {
json = JSON.parse(data);
treeData = data;
console.log("data:", json);
$('#documentListAllPage').tree('loadData', json, null, function () {
alert("data is loaded");
});
});
/*
if ($('#documentListAllPage').tree('loadDataFromUrl', '/ajax/folderAndDocumentList_editPage.php?pageId='+intPageId) == null) {
console.log("reload tree");
createTree();
} else {
console.log("cannot load tree data");
}*/
}, intDelay);
}
function initTree() {
console.log("setting up DMS tree");
$.getJSON(
'/ajax/folderAndDocumentList_editPage.php?pageId=' + intPageId,
function (data) {
var hasFiles = false;
$('#' + strDivId).tree({
data: data,
autoOpen: false,
/* dragAndDrop: false,
onCreateLi: function(node, li) {
hasFiles=true;
if(node.file != undefined){
li.find('.jqtree-element').click(function(){
console.log("downloading"+node.id);
documentDownload(node.id);
}).prepend(
" " +
" " +
"
" + node.fileSize + "" +
"
"+
//node.downloadUrl+
//node.fileSize+
//"
Download"+
"
"
);
li.find('.jqtree-title').click(function(){
console.log("downloading"+node.id);
documentDownload(node.id);
}).append(
" " + node.fileSize + "" +
);
}
if(node.file == undefined){
hasFiles=true;
li.find('.jqtree-element .jqtree-title').addClass('relative mb10').append(
" "
);
}
} */
dragAndDrop: true,
onCreateLi: function (node, li) {
if (node.file != undefined) {
li.find('.jqtree-element').prepend(
"" +
"" +
" "
);
li.find('.jqtree-title').append(
"" +
" " + node.fileSize + " " + node.dateCreated + "" +
"
"
);
} else {
li.find('.jqtree-title').prop("title", strInfoEditFolder);
li.find('.jqtree-element').prepend(
" " +
"" +
" " +
" " +
"
"
);
li.find('.jqtree-title').append(
"
" + node.dateCreated + " "
);
}
},
onCanMoveTo: function (moved_node, target_node, position) {
if (target_node.file && position == "inside") {
return false;
}
//forbid moving more then 3 level
//Here we calculate depth: Moved node children + Target node parents
var depth = 0;
var movedNodeTmp = moved_node;
while (movedNodeTmp.children.length != 0) {
depth++;
var movedNodeNext = movedNodeTmp.children[0];
for (var i = 0; i < movedNodeTmp.children.length; i++) {
if (movedNodeTmp.children[i].length != 0) {
movedNodeNext = movedNodeTmp.children[i];
}
}
movedNodeTmp = movedNodeNext;
}
while (target_node.parent != null) {
depth++;
target_node = target_node.parent;
}
if ((depth > 2 && moved_node.file != true)) {
// console.log("Stopped at depth " + depth);
return false;
}
// console.log("Depth: " + depth);
return true;
}
});
if (hasFiles) {
if (strDivId != "documentListAllPage") $("#" + strDivId).prepend("");
$("#" + strDivId).show();
console.log("Has files");
}
}
);
}
setTimeout(function () {
//reloadTree(9);
initTree();
}, 1000);
function uploadAll(event, form) {
event = event || window.event;
event.preventDefault();
var d = new FormData(form);
console.log('formdata', d);
$.ajax({
url: "/ajax/uploadfileorimage.php",
type: 'POST',
data: d,
processData: false,
contentType: false,
success: function (data) {
$("#uploadStatus").html(data).fadeIn().delay(1500).fadeOut("slow");
renewImages();
reloadTree();
form.reset();
},
error: function (data) {
if (data && data.responseText) {
console.log("ERROR", data, data.responseText);
$flash = UI.buildFlash({header: 'Error', text: data.responseText, type: 'danger'});
$('#uploadFlash').html($flash);
setTimeout(function () {
$('#uploadFlash').fadeOut("slow", function () {
$('#uploadFlash').html("").fadeIn()
});
}, 3000);
}
}
});
return false;
}