Skip to content

Commit

Permalink
upload files from local, #170
Browse files Browse the repository at this point in the history
  • Loading branch information
mapsam committed Sep 12, 2015
1 parent 27ffb32 commit c038a47
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 51 deletions.
2 changes: 0 additions & 2 deletions src/js/form.dropchop.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,11 @@ var dropchop = (function(dc) {
$html.on('submit', function(event) {
event.preventDefault();
// get the parameters from the form
console.log('operation:' + trigger, name);
var parameters = [];
var data = $(this).serializeArray();
$(data).each(function(i) {
parameters.push(data[i].value);
});
console.log(data, parameters);
$(dc.ops).trigger('operation:' + trigger, [name, parameters]);
dc.form.remove();
return false;
Expand Down
17 changes: 11 additions & 6 deletions src/js/ops.dropchop.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,17 @@ var dropchop = (function(dc) {
// setup ops file
var leftMenu = $('<div>').addClass('dropchop-menu-left');
for (var fileOp in dc.ops.file) {
var fileBtn = $('<button>').addClass('menu-action')
.html(dc.ops.file[fileOp].icon || 'A')
.attr('data-operation', fileOp)
.attr('data-tooltip', dc.ops.file[fileOp].description);
fileBtn.on('click', _fileBtnClick);
leftMenu.append(fileBtn);
if(dc.ops.file[fileOp].type !== 'break') {
var fileBtn = $('<button>').addClass('menu-action')
.html(dc.ops.file[fileOp].icon || 'A')
.attr('data-operation', fileOp)
.attr('data-tooltip', dc.ops.file[fileOp].description);
fileBtn.on('click', _fileBtnClick);
leftMenu.append(fileBtn);
} else {
var $breakSpace = $('<div>').addClass('menu-action-break');
leftMenu.append($breakSpace);
}
}
dc.$elem.append(leftMenu);
};
Expand Down
89 changes: 53 additions & 36 deletions src/js/ops.file.dropchop.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,57 @@ var dropchop = (function(dc) {
dc.ops = dc.ops || {};

dc.ops.file = {
upload: {
description: 'Upload from your computer',
icon: '<i class="fa fa-upload"></i>',
execute: function() {
// inspired from geojson.io
// https://github.com/mapbox/geojson.io/blob/gh-pages/src/ui/file_bar.js#L390
var $blindInput = $('<input>')
.attr('type', 'file')
.attr('multiple', 'true')
.css('visibility', 'hidden')
.css('position', 'absolute')
.css('height', '0')
.on('change', function() {
var files = this.files;
$(files).each(function(i) {
dc.dropzone.read(files[i]);
});
$blindInput.remove();
});
$('body').append($blindInput);
$blindInput.click();
}
},

'load-url': {
description: 'Import file from a URL',
icon: '<i class="fa fa-link"></i>',
parameters: [
{
name: 'url',
description :'URL',
type: 'text',
default: 'http://',
},
],
},

'load-gist': {
description: 'Import files from Gist',
icon: '<i class="fa fa-github"></i>',
parameters: [
{
name: 'gist',
description :'Gist ID or URL',
type: 'text',
},
],
},

'break1': { type: 'break' },

'save-geojson': {
minFeatures: 1,
description: 'Save as GeoJSON',
Expand Down Expand Up @@ -55,6 +106,8 @@ var dropchop = (function(dc) {
createsLayer: false
},

'break2': { type: 'break' },

remove: {
minFeatures: 1,
description: 'Remove selected layers',
Expand All @@ -66,42 +119,6 @@ var dropchop = (function(dc) {
dc.selection.clear();
},
disableForm: true,
},
upload: {
description: 'Upload from your computer',
icon: '<i class="fa fa-upload"></i>',
parameters: [
{
description: 'File to upload.',
type: 'file',
extra: 'multiple',
}
]
},

'load-url': {
description: 'Import file from a URL',
icon: '<i class="fa fa-link"></i>',
parameters: [
{
name: 'url',
description :'URL',
type: 'text',
default: 'http://',
},
],
},

'load-gist': {
description: 'Import files from Gist',
icon: '<i class="fa fa-github"></i>',
parameters: [
{
name: 'gist',
description :'Gist ID or URL',
type: 'text',
},
],
}
};

Expand Down
9 changes: 3 additions & 6 deletions src/scss/_general.scss
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
$grey: #c0c0c0;
$green: lighten(#2ECC40, 15);
$red: lighten(#ff4136, 15);
$blue: lighten(#0074D9, 15);

body {
padding: 0;
margin: 0;
Expand Down Expand Up @@ -68,6 +63,7 @@ label,

$left-menu-width: 41px;
$width: 280px;
$geo-button-width: 100px;

.layerlist {
position: absolute;
Expand Down Expand Up @@ -198,7 +194,7 @@ $width: 280px;
z-index: 10;
top: 1px;
width: 400px;
left: 381px;
left: $left-menu-width + $width + $geo-button-width + 1px;
margin-left: 1px;
background: white;
padding: 10px;
Expand All @@ -216,6 +212,7 @@ $width: 280px;
margin-left: 10px;
}
}

.dropchop-form-parameter {
margin-bottom: 1em;
label {
Expand Down
7 changes: 6 additions & 1 deletion src/scss/_left.menu.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
bottom: 0;
width: 41px;
background: #f6f6f6;
.menu-action-break {
height: 15px;
background: transparent;
}
.menu-action {
position:relative;
padding: 13px 0;
Expand All @@ -18,7 +22,8 @@
box-sizing: content-box;

&:hover {
background: #f6f6f6;
background: $fuscia;
color: white;
cursor: pointer;
&:after,
&:before {
Expand Down
5 changes: 5 additions & 0 deletions src/scss/_variables.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
$grey: #c0c0c0;
$green: lighten(#2ECC40, 15);
$red: lighten(#ff4136, 15);
$blue: lighten(#0074D9, 15);
$fuscia: lighten(#F012BE, 15);
1 change: 1 addition & 0 deletions src/scss/dropchop.scss
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@import
"variables",
"left.menu",
"general"
;

0 comments on commit c038a47

Please sign in to comment.