$(document).ready(function () { // init var folder = new Folder($('#files')); var addressbar = new AddressBar($('#addressbar')); var tree = new Tree($('#tree')); function openDir(dir) { if (dir && dir.slice(-1) != path.sep) { dir += path.sep; // 如果不以/结尾,"D:"会被path.normalize转成"D:." } // TODO: extract them into an abstract base interface addressbar.set(dir); folder.open(dir); tree.navigate(dir); } function selectDrive() { folder.selectDrive(); tree.selectDrive(); addressbar.selectDrive(); } openDir(defaultPath); // register events folder.on('navigate', function (filepath, type) { if (type == 'folder' || type == 'drive') { openDir(filepath); } else { shell.openItem(filepath); } }); addressbar.on('navigate', function (dir) { openDir(dir); }); tree.on('navigate', function (dir) { openDir(dir); }); if (process.platform == 'win32') { addressbar.on('select drive', function () { selectDrive(); }); tree.on('select drive', function () { selectDrive(); }); } });
folder.on('navigate', function(dir, mime) { if (mime.type == 'folder') { addressbar.enter(mime); } else { shell.openItem(mime.path); } });
function openDir(dir) { if (dir && dir.slice(-1) != path.sep) { dir += path.sep; // 如果不以/结尾,"D:"会被path.normalize转成"D:." } // TODO: extract them into an abstract base interface addressbar.set(dir); folder.open(dir); tree.navigate(dir); }
$(document).ready(function() { initMenu(); var folder = new folder_view.Folder($('#files')); var addressbar = new abar.AddressBar($('#addressbar')); folder.open(process.cwd()); addressbar.set(process.cwd()); App.folder = folder; App.addressbar = addressbar; folder.on('navigate', function(dir, mime) { if (mime.type == 'folder') { addressbar.enter(mime); } else { shell.openItem(mime.path); } }); addressbar.on('navigate', function(dir) { folder.open(dir); }); // sidebar favorites $('[nw-path]').bind('click', function (event) { event.preventDefault(); App.cd(this); var hello = edge.func(function () {/* async (input) => { return ".NET welcomes " + input.ToString() + " " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss:fff"); } */}); hello('Node.js', function (error, result) { if (error) throw error; console.log(result); }); }); });
$(document).ready(function() { var folder = new folder_view.Folder($('#files')); var addressbar = new abar.AddressBar($('#addressbar')); folder.open(process.cwd()); addressbar.set(process.cwd()); folder.on('navigate', function(dir, mime) { if (mime.type == 'folder') { addressbar.enter(mime); } else { shell.openItem(mime.path); } }); addressbar.on('navigate', function(dir) { folder.open(dir); }); });
$(document).ready(function() { var folder = new folder_view.Folder($('#files')); var addressbar = new abar.AddressBar($('#addressbar')); var home = document.getElementById('home'); var documents = document.getElementById('documents'); var pictures = document.getElementById('pictures'); folder.open(process.cwd()); addressbar.set(process.cwd()); folder.on('navigate', function(dir, mime) { if (mime.type == 'folder') { addressbar.enter(mime); } else { shell.openItem(mime.path); } }); addressbar.on('navigate', function(dir) { folder.open(dir); }); last.stdout.on('data', function (data) { // console.log('标准输出:' + data); var userPath = data.trim(); home.addEventListener('click', function(){ folder.open(userPath); addressbar.set(userPath); }); documents.addEventListener('click', function(){ folder.open(userPath+"/Documents"); addressbar.set(userPath+"/Documents"); }); pictures.addEventListener('click', function(){ folder.open(userPath+"/Pictures"); addressbar.set(userPath+"/Pictures"); }); }); });
$('.filesystem-links').on('click', 'li > a', function(e) { var dir = path.normalize(this.getAttribute('data-path')); if (dir === '~') { dir = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; } $(this).closest('ul').find('li').removeClass('active'); $(this).closest('li').addClass('active'); addressbar.set(dir); folder.open(dir); e.preventDefault(); e.stopPropagation(); return false; });
$(document).ready(function() { var folder = new folder_view.Folder($('#beta')); var addressbar = new abar.AddressBar($('#addressbar')); var currDir = process.cwd(); var numFolds = 0; folder.open(currDir); // opens current working directory addressbar.set(currDir); folder.on('navigate', function(dir, mime) { if (mime.type == 'folder') { addressbar.enter(mime); } else { shell.openItem(mime.path); } }); addressbar.on('navigate', function(dir) { folder.open(dir); }); });
function backgroundInit() { var folder = new folder_view.Folder($("#files")) var addressbar = new abar.AddressBar($("#addressbar")) function explore(path) { var s = fs.statSync(path) if (s.isFile()) { return folder.emit("navigate", path, { name: path.substring(path.lastIndexOf("\\") + 1), path: path, type: "file" }) } writeModel("page", "explore") addressbar.set(path) folder.open(path, fileFilter) storage.set("path", path) } // call fekit eventCenter.on("command.run", function(cmd, args) { cmd = cmd.trim() if (cmd == "config") { var p = $("#files .config").data("path") args.callback && args.callback() return folder.emit("navigate", p, { name: "fekit.config", path: p, type: "file", }) } execCMD(cmd, args) }) eventCenter.on("config.save", function(path, content, callback, exitAfterSave) { if (exitAfterSave != "exit") { fs.writeFileSync(path, content) logger.success("保存成功") } if (exitAfterSave) { explore(path.substring(0, path.lastIndexOf("\\"))) } callback && callback() }) eventCenter.on("dir", explore) addressbar.on("paths", function(mine) { writeModel("paths", mine.paths) }) addressbar.on("navigate", function(dir) { explore(dir) }) eventCenter.on("dir.navigate", function(dir) { explore(dir) }) folder.on("files", function(dir, data) { var newFiles = data.files newFiles = newFiles.sort(function(a, b) { if (a._type === "fekit") { cache["canStartServer"][dir] = true return 1 } }) writeModel("files", newFiles.reverse()) var fkitcfg = dir + "\\" + "fekit.config" writeModel("isFekitModules", fs.existsSync(fkitcfg)) }) folder.on("navigate", function(dir, mime) { if (mime.type == "folder") { explore(mime.path) // 编辑fekit.config } else if (mime.name === "fekit.config") { writeModel("page", "edit") addressbar.set(mime.path) // var start = +(new Date()) // 不用缓存,json文件过大的时候会有点卡 writeModel("configJSON", { name: mime.name, path: mime.path, content: fs.readFileSync(mime.path) }) // logger.log(+(new Date()) - start) } else { shell.openItem(mime.path) } }) explore(targetDir) $("#ct")[0].removeAttribute("ms-skip") eventCenter.on("ctrl.s", function() { if (fekitModel.page === "edit") fekitModel.save() }) avalon.scan() // 不好使啊 // process.on('exit', function() { // eventCenter.emit("ctrl.c") // }) logger.success("init finished") }
pictures.addEventListener('click', function(){ folder.open(userPath+"/Pictures"); addressbar.set(userPath+"/Pictures"); });
documents.addEventListener('click', function(){ folder.open(userPath+"/Documents"); addressbar.set(userPath+"/Documents"); });
home.addEventListener('click', function(){ folder.open(userPath); addressbar.set(userPath); });
function selectDrive() { folder.selectDrive(); tree.selectDrive(); addressbar.selectDrive(); }
$(document).ready(function() { var app = gui.App; var settings = { app: app, thumbSize: 96, showHidden: true, document: document }; var dataPath = app.dataPath + ""; //cast to string var thumbDir = path.join(dataPath, "/thumbs/"); if (!fs.existsSync(thumbDir)) { fs.mkdirSync(thumbDir); } var startDir = getStartDir(app); var cwdElt = $('#current-directory'); cwdElt.find('> a').attr('data-path', startDir)[0].childNodes[1].textContent = ' ' + path.basename(startDir); var folder = new folder_view.Folder(settings, $('#files')); var addressbar = new abar.AddressBar($('#addressbar')); var thumbSize = new controls.ThumbSize(settings, $('#thumb-size-input')); var options = new controls.Options(settings, $('#options-box')); var reThumb = debounce(function() {folder.cancelThumbs(); folder.updateThumbnails();}, 500); thumbSize.on('update', function(thumbSize) { console.log("New thumbnail size: ", thumbSize); settings.thumbSize = thumbSize; var cssRule = getCSSRule('.file'); if (cssRule) { cssRule.style.width = thumbSize + 'px'; cssRule = getCSSRule('.file .name'); if (cssRule) { cssRule.style.fontSize = Math.max(0.6, Math.min(1.0, thumbSize / 96)) + "em"; } reThumb(); } }); options.on('reload', function() { console.log('reloading'); folder.open(); // refresh }); var dirList = $('#directory-list'); folder.on('discover', function(item) { dirList.append('<li><a class="folder-link" href="#' + item.id +'">' + item.name + '</a></li>'); }); folder.open(startDir); addressbar.set(startDir); folder.on('navigate', function(dir, mime) { if (mime.type == 'folder') { addressbar.enter(mime); } else { shell.openItem(mime.path); } }); addressbar.on('navigate', function(dir) { folder.open(dir); }); $('#directory-list').on('click', '.folder-link', function(e) { var link = this.href; console.log('clicked link', link, this); $('#files').scrollTo($(link)); e.preventDefault(); return false; }); $('.filesystem-links').on('click', 'li > a', function(e) { var dir = path.normalize(this.getAttribute('data-path')); if (dir === '~') { dir = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; } $(this).closest('ul').find('li').removeClass('active'); $(this).closest('li').addClass('active'); addressbar.set(dir); folder.open(dir); e.preventDefault(); e.stopPropagation(); return false; }); });