Merge pull request #38 from pacocoursey/master
Allow copy/cut/paste in picker input
This commit is contained in:
commit
fcfe527d94
@ -106,9 +106,9 @@ function Dotgrid(width,height,grid_x,grid_y,block_x,block_y)
|
|||||||
document.addEventListener('mousemove', function(e){ dotgrid.mouse_move(e); }, false);
|
document.addEventListener('mousemove', function(e){ dotgrid.mouse_move(e); }, false);
|
||||||
document.addEventListener('contextmenu', function(e){ dotgrid.mouse_alt(e); }, false);
|
document.addEventListener('contextmenu', function(e){ dotgrid.mouse_alt(e); }, false);
|
||||||
document.addEventListener('mouseup', function(e){ dotgrid.mouse_up(e);}, false);
|
document.addEventListener('mouseup', function(e){ dotgrid.mouse_up(e);}, false);
|
||||||
document.addEventListener('copy', function(e){ dotgrid.copy(e); e.preventDefault(); }, false);
|
document.addEventListener('copy', function(e){ dotgrid.copy(e); }, false);
|
||||||
document.addEventListener('cut', function(e){ dotgrid.cut(e); e.preventDefault(); }, false);
|
document.addEventListener('cut', function(e){ dotgrid.cut(e); }, false);
|
||||||
document.addEventListener('paste', function(e){ dotgrid.paste(e); e.preventDefault(); }, false);
|
document.addEventListener('paste', function(e){ dotgrid.paste(e); }, false);
|
||||||
window.addEventListener('drop', dotgrid.drag);
|
window.addEventListener('drop', dotgrid.drag);
|
||||||
|
|
||||||
this.new();
|
this.new();
|
||||||
@ -415,10 +415,13 @@ function Dotgrid(width,height,grid_x,grid_y,block_x,block_y)
|
|||||||
{
|
{
|
||||||
dotgrid.guide.refresh();
|
dotgrid.guide.refresh();
|
||||||
|
|
||||||
e.clipboardData.setData('text/source', dotgrid.tool.export(dotgrid.tool.layer()));
|
if (e.target !== this.picker.el) {
|
||||||
e.clipboardData.setData('text/plain', dotgrid.tool.path());
|
e.clipboardData.setData('text/source', dotgrid.tool.export(dotgrid.tool.layer()));
|
||||||
e.clipboardData.setData('text/html', dotgrid.renderer.to_svg());
|
e.clipboardData.setData('text/plain', dotgrid.tool.path());
|
||||||
e.clipboardData.setData('text/svg+xml', dotgrid.renderer.to_svg());
|
e.clipboardData.setData('text/html', dotgrid.renderer.to_svg());
|
||||||
|
e.clipboardData.setData('text/svg+xml', dotgrid.renderer.to_svg());
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
dotgrid.guide.refresh();
|
dotgrid.guide.refresh();
|
||||||
}
|
}
|
||||||
@ -427,21 +430,26 @@ function Dotgrid(width,height,grid_x,grid_y,block_x,block_y)
|
|||||||
{
|
{
|
||||||
dotgrid.guide.refresh();
|
dotgrid.guide.refresh();
|
||||||
|
|
||||||
e.clipboardData.setData('text/plain', dotgrid.tool.export(dotgrid.tool.layer()));
|
if (e.target !== this.picker.el) {
|
||||||
e.clipboardData.setData('text/html', dotgrid.renderer.to_svg());
|
e.clipboardData.setData('text/plain', dotgrid.tool.export(dotgrid.tool.layer()));
|
||||||
e.clipboardData.setData('text/svg+xml', dotgrid.renderer.to_svg());
|
e.clipboardData.setData('text/html', dotgrid.renderer.to_svg());
|
||||||
|
e.clipboardData.setData('text/svg+xml', dotgrid.renderer.to_svg());
|
||||||
dotgrid.tool.layers[dotgrid.tool.index] = [];
|
dotgrid.tool.layers[dotgrid.tool.index] = [];
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
dotgrid.guide.refresh();
|
dotgrid.guide.refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.paste = function(e)
|
this.paste = function(e)
|
||||||
{
|
{
|
||||||
var data = e.clipboardData.getData("text/source");
|
if (e.target !== this.picker.el) {
|
||||||
if(is_json(data)){
|
var data = e.clipboardData.getData("text/source");
|
||||||
data = JSON.parse(data.trim());
|
if (is_json(data)) {
|
||||||
dotgrid.tool.import(data);
|
data = JSON.parse(data.trim());
|
||||||
|
dotgrid.tool.import(data);
|
||||||
|
}
|
||||||
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
dotgrid.guide.refresh();
|
dotgrid.guide.refresh();
|
||||||
@ -504,4 +512,3 @@ function is_json(text){ try{ JSON.parse(text);return true; } catch(error){ retur
|
|||||||
function pos_is_equal(a,b){ return a && b && a.x == b.x && a.y == b.y }
|
function pos_is_equal(a,b){ return a && b && a.x == b.x && a.y == b.y }
|
||||||
function clamp(v, min, max) { return v < min ? min : v > max ? max : v; }
|
function clamp(v, min, max) { return v < min ? min : v > max ? max : v; }
|
||||||
function step(v,s){ return parseInt(v/s) * s; }
|
function step(v,s){ return parseInt(v/s) * s; }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user