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("

" + //""+ // edit icon page "" + strTitle + "

"); $("#" + 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; }