Commit a3da41ff authored by Mark Jordan's avatar Mark Jordan
Browse files

Initial commit: allows dragging a file and showing its path.

parents
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Mark's first Electron app</title>
</head>
<body>
<h2>Drag your files onto the gray area below</h2>
<div id="time">
</div>
<div style="padding:100px">
<div id="holder" style="height: 200px; background-color: gray;">
</div>
</div>
<h3>The path to the file you dragged:</h3>
<div id="output">
</div>
<script>
var request = require('request');
var fs = require('fs');
request('http://localhost:88/webserver.php', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
if (response && response.statusCode == 200) {
document.getElementById('time').innerHTML += body;
}
});
document.addEventListener('drop', function (e) {
e.preventDefault();
e.stopPropagation();
for (let f of e.dataTransfer.files) {
document.getElementById('output').innerHTML += '<br />' + f.path + '<p />';
}
});
document.addEventListener('dragover', function (e) {
e.preventDefault();
e.stopPropagation();
});
</script>
</body>
</html>
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let win
function createWindow () {
// Create the browser window.
win = new BrowserWindow({width: 800, height: 600})
// and load the index.html of the app.
win.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}))
// Open the DevTools.
// win.webContents.openDevTools()
// Wait for 'ready-to-show' to display our window
win.once('ready-to-show', () => {
win.show()
})
// Emitted when the window is closed.
win.on('closed', () => {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
win = null
})
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow)
// Quit when all windows are closed.
app.on('window-all-closed', () => {
// On macOS it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (win === null) {
createWindow()
}
})
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
{
"name" : "marks-first-electron-app",
"version" : "0.1.0",
"main" : "main.js",
"repository" : "git.lib.sfu.ca:mjordan/marksfistelectronapp.git",
"dependencies" : "request": "*"
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment