add drag files
modify glyflist
This commit is contained in:
parent
0d4e918efb
commit
b9b10a3a38
File diff suppressed because one or more lines are too long
@ -35,7 +35,7 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: block;
|
display: block;
|
||||||
.path {
|
.path {
|
||||||
fill: #232830;
|
fill: #666;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,22 +6,12 @@
|
|||||||
define(
|
define(
|
||||||
function (require) {
|
function (require) {
|
||||||
var i18n = require('./i18n/i18n');
|
var i18n = require('./i18n/i18n');
|
||||||
var GLYFViewer = require('./widget/glyfviewer/GLYFViewer');
|
|
||||||
var GLYFEditor = require('./widget/GLYFEditor');
|
|
||||||
var ProjectViewer = require('./widget/ProjectViewer');
|
|
||||||
var Spliter = require('./widget/Spliter');
|
|
||||||
var TTFManager = require('./widget/TTFManager');
|
|
||||||
var Toolbar = require('./widget/Toolbar');
|
|
||||||
var Pager = require('./widget/Pager');
|
|
||||||
|
|
||||||
var program = require('./widget/program');
|
var program = require('./widget/program');
|
||||||
|
|
||||||
var controller = require('./controller/default');
|
var controller = require('./controller/default');
|
||||||
var actions = require('./controller/actions');
|
var actions = require('./controller/actions');
|
||||||
|
|
||||||
|
function loadFiles(files) {
|
||||||
function onUpFile(e) {
|
var file = files[0];
|
||||||
var file = e.target.files[0];
|
|
||||||
if (program.data.action === 'open' && program.loader.supportLoad(file.name)) {
|
if (program.data.action === 'open' && program.loader.supportLoad(file.name)) {
|
||||||
program.loader.load(file, {
|
program.loader.load(file, {
|
||||||
type: file.name.slice(file.name.lastIndexOf('.') + 1).toLowerCase(),
|
type: file.name.slice(file.name.lastIndexOf('.') + 1).toLowerCase(),
|
||||||
@ -34,10 +24,9 @@ define(
|
|||||||
}
|
}
|
||||||
else if (program.data.action === 'import' && program.loader.supportImport(file.name)) {
|
else if (program.data.action === 'import' && program.loader.supportImport(file.name)) {
|
||||||
if (program.ttfManager.get()) {
|
if (program.ttfManager.get()) {
|
||||||
|
|
||||||
var ext = file.name.slice(file.name.lastIndexOf('.') + 1).toLowerCase();
|
var ext = file.name.slice(file.name.lastIndexOf('.') + 1).toLowerCase();
|
||||||
var reg = new RegExp('\.' + ext + '$', 'i');
|
var reg = new RegExp('\.' + ext + '$', 'i');
|
||||||
var files = Array.prototype.slice.call(e.target.files).filter(function (f) {
|
var files = Array.prototype.slice.call(files).filter(function (f) {
|
||||||
return reg.test(f.name);
|
return reg.test(f.name);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -59,10 +48,22 @@ define(
|
|||||||
else {
|
else {
|
||||||
alert(i18n.lang.msg_not_support_file_type);
|
alert(i18n.lang.msg_not_support_file_type);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onUpFile(e) {
|
||||||
|
loadFiles(e.target.files);
|
||||||
e.target.value = '';
|
e.target.value = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onDrop(e) {
|
||||||
|
e.stopPropagation();
|
||||||
|
e.preventDefault();
|
||||||
|
var file = e.dataTransfer.files[0];
|
||||||
|
var ext = file.name.slice(file.name.lastIndexOf('.') + 1).toLowerCase();
|
||||||
|
program.data.action = ext === 'svg' ? 'import' : 'open';
|
||||||
|
loadFiles(e.dataTransfer.files);
|
||||||
|
}
|
||||||
|
|
||||||
function bindEvent() {
|
function bindEvent() {
|
||||||
$('.action-groups').delegate('[data-action]', 'click', function (e) {
|
$('.action-groups').delegate('[data-action]', 'click', function (e) {
|
||||||
var action = this.getAttribute('data-action');
|
var action = this.getAttribute('data-action');
|
||||||
@ -73,6 +74,11 @@ define(
|
|||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById('font-import').addEventListener('change', onUpFile);
|
document.getElementById('font-import').addEventListener('change', onUpFile);
|
||||||
|
// 阻止拖拽默认事件
|
||||||
|
$(document).on('dragleave drop dragenter dragover', function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
document.getElementById('glyf-list').addEventListener('drop', onDrop);
|
||||||
}
|
}
|
||||||
|
|
||||||
var entry = {
|
var entry = {
|
||||||
@ -88,16 +94,21 @@ define(
|
|||||||
|
|
||||||
program.config = require('./config');
|
program.config = require('./config');
|
||||||
|
|
||||||
|
// 拖拽面板管理器
|
||||||
|
var Spliter = require('./widget/Spliter');
|
||||||
program.spliter = new Spliter($('#glyf-list-spliter'));
|
program.spliter = new Spliter($('#glyf-list-spliter'));
|
||||||
|
|
||||||
// glyf查看器命令组
|
// glyf查看器命令组
|
||||||
|
var Toolbar = require('./widget/Toolbar');
|
||||||
var viewerCommandMenu = new Toolbar($('#glyf-list-commandmenu'), {
|
var viewerCommandMenu = new Toolbar($('#glyf-list-commandmenu'), {
|
||||||
commands: require('./menu/viewer')
|
commands: require('./menu/viewer')
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var Pager = require('./widget/Pager');
|
||||||
program.viewerPager = new Pager($('#glyf-list-pager'));
|
program.viewerPager = new Pager($('#glyf-list-pager'));
|
||||||
|
|
||||||
// glyf查看器
|
// glyf查看器
|
||||||
|
var GLYFViewer = require('./widget/glyfviewer/GLYFViewer');
|
||||||
program.viewer = new GLYFViewer($('#glyf-list'), {
|
program.viewer = new GLYFViewer($('#glyf-list'), {
|
||||||
commandMenu: viewerCommandMenu
|
commandMenu: viewerCommandMenu
|
||||||
});
|
});
|
||||||
@ -108,15 +119,18 @@ define(
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 字体查看器
|
// 字体查看器
|
||||||
|
var GLYFEditor = require('./widget/GLYFEditor');
|
||||||
program.editor = new GLYFEditor($('#glyf-editor'), {
|
program.editor = new GLYFEditor($('#glyf-editor'), {
|
||||||
commandMenu: editorCommandMenu
|
commandMenu: editorCommandMenu
|
||||||
});
|
});
|
||||||
|
|
||||||
// 项目管理
|
// 项目管理
|
||||||
|
var ProjectViewer = require('./widget/ProjectViewer');
|
||||||
program.project = require('./widget/project');
|
program.project = require('./widget/project');
|
||||||
program.projectViewer = new ProjectViewer($('#project-list'));
|
program.projectViewer = new ProjectViewer($('#project-list'));
|
||||||
|
|
||||||
// ttf管理
|
// ttf管理
|
||||||
|
var TTFManager = require('./widget/TTFManager');
|
||||||
program.ttfManager = new TTFManager();
|
program.ttfManager = new TTFManager();
|
||||||
|
|
||||||
// 导入导出器
|
// 导入导出器
|
||||||
|
@ -15,7 +15,7 @@ define(
|
|||||||
+ '<i data-action="edit" class="ico i-edit" title="' + i18n.lang.edit + '"></i>'
|
+ '<i data-action="edit" class="ico i-edit" title="' + i18n.lang.edit + '"></i>'
|
||||||
+ '<i data-action="del" class="ico i-del" title="' + i18n.lang.del + '"></i>'
|
+ '<i data-action="del" class="ico i-del" title="' + i18n.lang.del + '"></i>'
|
||||||
+ '<svg class="glyf" viewbox="0 0 ${unitsPerEm} ${unitsPerEm}">'
|
+ '<svg class="glyf" viewbox="0 0 ${unitsPerEm} ${unitsPerEm}">'
|
||||||
+ '<g transform="scale(1, -1) translate(0, -${translateY}) scale(0.95, 0.95) ">'
|
+ '<g transform="scale(1, -1) translate(0, -${translateY}) scale(0.9, 0.9) ">'
|
||||||
+ '<path class="path" ${fillColor} ${d}/></g>'
|
+ '<path class="path" ${fillColor} ${d}/></g>'
|
||||||
+ '</svg>'
|
+ '</svg>'
|
||||||
+ '<div data-field="unicode" class="unicode" title="${unicode}">${unicode}</div>'
|
+ '<div data-field="unicode" class="unicode" title="${unicode}">${unicode}</div>'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user