// requires DropZone ยช toMarkdown if (typeof jQuery === 'undefined') { throw new Error('yavsc-remote-fs script requires jQuery'); } if (typeof Dropzone === 'undefined') { throw new Error('yavsc-remote-fs requires Dropzone'); } if (typeof updateMD === 'undefined') { throw new Error('yavsc-remote-fs requires md-helpers.js'); } (function($, Dropzone, updateMD) { window.RemoteFS = (function ($) { /* var Combine = function (patha, pathb) { if (!patha) return pathb; if (!pathb) return patha; return patha + '/' + pathb; }; */ var OpenDir = function ($view, sub) { $view.data('path', sub); InitDir($view); }; var root; var selection = []; var SetItemSelected = function (name, selected) { if (selected) selection.push(name); else selection = selection.filter(function(ele) { return ele != name; }); }; var RemoveSelectedFiles = function () { var xmlhttp = new XMLHttpRequest(); $.each(selection, function() { xmlhttp.open('DELETE', '/api/fs/' + this, true); xmlhttp.send(); }); }; var InitDir = function ($view) { root = $view.data('path'); var owner = $view.data('owner'); var fsiourl = root ? '/api/fs/' + root : '/api/fs'; $view.empty(); $.get(fsiourl, function(data) { $('').click(function() { OpenDir($view, null); }).appendTo($view); var npath = null; if (root) $.each(root.split('/'), function () { var part = this; if (npath == null) npath = part; else npath = npath + '/' + part; $('').append(part).click(function() { OpenDir($view, npath); }).appendTo($view); }); $.each(data.SubDirectories, function () { var item = this; var spath = (root) ? root + '/' + item.Name : item.Name; $('').append(item.Name).click(function() { OpenDir($view, spath); }).appendTo($view); }); var $divedit = $('
'); $('').addClass('glyphicon').append().click(function() { RemoveSelectedFiles(); }).appendTo($divedit); $divedit.appendTo($view); var $ftable = $('