Commit 2c75abba authored by techird's avatar techird

stash

parent 352d292f
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
"disallowSpacesInsideParentheses": true, "disallowSpacesInsideParentheses": true,
// 行尾「MUST NOT」使用空格 // 行尾「MUST NOT」使用空格
"disallowTrailingWhitespace": true, "disallowTrailingWhitespace": false,
// 每行「MUST NOT」超过 120 个字符 // 每行「MUST NOT」超过 120 个字符
"maximumLineLength": 120, "maximumLineLength": 120,
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
"KM", "KM",
"keymap", "keymap",
"baidu", "baidu",
"browser" "browser",
"FUI"
] ]
} }
\ No newline at end of file
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
*-----------------------------------------------------*/ *-----------------------------------------------------*/
'use strict'; 'use strict';
var path = require('path'); var path = require('path');
var lrSnippet = require('grunt-contrib-livereload/lib/utils').livereloadSnippet;
/*----------------------------------------------------- /*-----------------------------------------------------
* Module Setting * Module Setting
...@@ -26,10 +25,10 @@ module.exports = function(grunt) { ...@@ -26,10 +25,10 @@ module.exports = function(grunt) {
var getPath = function(readFile) { var getPath = function(readFile) {
var sources = require("fs").readFileSync(readFile); var sources = require('fs').readFileSync(readFile);
sources = /paths\s=\s\[([\s\S]*?)\]/ig.exec(sources); sources = /paths\s=\s\[([\s\S]*?)\]/ig.exec(sources);
sources = sources[1].replace(/\/\/.*\n/g, '\n').replace(/'|"|\n|\t|\s/g, ''); sources = sources[1].replace(/\/\/.*\n/g, '\n').replace(/'|"|\n|\t|\s/g, '');
sources = sources.split(","); sources = sources.split(',');
sources.forEach(function(filepath, index) { sources.forEach(function(filepath, index) {
sources[index] = srcPath + filepath; sources[index] = srcPath + filepath;
}); });
...@@ -50,7 +49,7 @@ module.exports = function(grunt) { ...@@ -50,7 +49,7 @@ module.exports = function(grunt) {
banner: banner + '(function(kity, window) {\n\n', banner: banner + '(function(kity, window) {\n\n',
footer: '\n\n})(kity, window)', footer: '\n\n})(kity, window)',
process: function(src, filepath) { process: function(src, filepath) {
return src + "\n"; return src + '\n';
} }
}, },
src: getPath(buildPath), src: getPath(buildPath),
...@@ -115,14 +114,14 @@ module.exports = function(grunt) { ...@@ -115,14 +114,14 @@ module.exports = function(grunt) {
overwrite: true, overwrite: true,
replacements: [{ replacements: [{
from: /src=\"(.+?)\.js\"/ig, from: /src=\"(.+?)\.js\"/ig,
to: 'src="$1.js?_=' + +new Date() + '"' to: 'src="$1.js?_=' + (+new Date()) + '"'
}] }]
} }
}, },
watch: { watch: {
less: { less: {
files: ["ui/themes/**/*.less"], files: ['ui/theme/**/*.less'],
tasks: ['less:compile'] tasks: ['less:compile']
} }
}, },
...@@ -130,9 +129,15 @@ module.exports = function(grunt) { ...@@ -130,9 +129,15 @@ module.exports = function(grunt) {
less: { less: {
compile: { compile: {
files: { files: {
'ui/themes/default/css/default.all.css': [ 'ui/theme/default/css/default.all.css': [
"ui/themes/default/css/import.less" 'ui/theme/default/css/import.less'
] ]
},
options: {
sourceMap: true,
sourceMapFilename: 'ui/theme/default/css/default.all.css.map',
sourceMapBasepath: 'ui/theme/default/css/'
} }
} }
}, },
......
...@@ -42,11 +42,11 @@ ...@@ -42,11 +42,11 @@
$addInput.val(null); $addInput.val(null);
} }
$addInput.on('keydown', function(e) { $addInput.on('inputcomplete', function(e) {
if (e.keyCode == 13) addResource(); addResource();
}); });
$addButton.click(addResource); $addButton.on('click', addResource);
switchDisplay(); switchDisplay();
......
Subproject commit 2d13b1977fd186c452d569e20a31137851a39db0 Subproject commit 94c73eb27e9e8d12bdc3b63fd9f0aded9d1c359d
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
'module/hyperlink.js', 'module/hyperlink.js',
'module/arrange.js', 'module/arrange.js',
'module/paste.js', 'module/paste.js',
'module/style.js',
'protocal/xmind.js', 'protocal/xmind.js',
'protocal/freemind.js', 'protocal/freemind.js',
'protocal/mindmanager.js', 'protocal/mindmanager.js',
......
...@@ -7,25 +7,33 @@ ...@@ -7,25 +7,33 @@
<meta name="description" content="百度脑图,便捷的脑图编辑工具。让您在线上直接创建、保存并分享你的思路。"> <meta name="description" content="百度脑图,便捷的脑图编辑工具。让您在线上直接创建、保存并分享你的思路。">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title>百度脑图 - 便捷的思维导图工具</title>
<script src="lib/jquery-2.1.0.min.js" charset="utf-8"></script> <script src="lib/jquery-2.1.0.min.js" charset="utf-8"></script>
<script src="lib/ZeroClipboard.min.js" charset="utf-8"></script> <script src="lib/ZeroClipboard.min.js" charset="utf-8"></script>
<script type="text/javascript"> <script type="text/javascript">
ZeroClipboard.setDefaults( { moviePath: 'lib/ZeroClipboard.swf' } ); /* global ZeroClipboard: true */
ZeroClipboard.setDefaults({ moviePath: 'lib/ZeroClipboard.swf' });
</script> </script>
<script src="kity/dist/kity.js" charset="utf-8"></script> <script src="kity/dist/kity.js" charset="utf-8"></script>
<script src="import.js" charset="utf-8"></script> <script src="import.js" charset="utf-8"></script>
<script src="kityminder.config.js" charset="utf-8"></script> <script src="kityminder.config.js" charset="utf-8"></script>
<script src="lang/zh-cn/zh-cn.js" charset="utf-8"></script> <script src="lang/zh-cn/zh-cn.js" charset="utf-8"></script>
<script src="fui/dev-lib/jhtmls.min.js"></script>
<script src="fui/dist/fui.all.js"></script>
<script src="ui/ui.js" charset="utf-8"></script>
<script src="lib/zip.js" charset="utf-8"></script> <script src="lib/zip.js" charset="utf-8"></script>
<script> <script>
/* global zip: true */
zip.inflateJSPath = 'lib/inflate.js'; zip.inflateJSPath = 'lib/inflate.js';
</script> </script>
<script src="lib/jquery.xml2json.js" charset="utf-8"></script> <script src="lib/jquery.xml2json.js" charset="utf-8"></script>
<link href="ui/themes/default/css/default.all.css" type="text/css" rel="stylesheet" /> <link rel="stylesheet" href="fui/theme/default/fui.all.css" />
<link href="ui/theme/default/css/default.all.css" type="text/css" rel="stylesheet" />
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon"> <link href="favicon.ico" type="image/x-icon" rel="shortcut icon">
<link href="favicon.ico" type="image/x-icon" rel="apple-touch-icon-precomposed"> <link href="favicon.ico" type="image/x-icon" rel="apple-touch-icon-precomposed">
</head> </head>
...@@ -34,7 +42,9 @@ ...@@ -34,7 +42,9 @@
<div id="content-wrapper"> <div id="content-wrapper">
<div id="panel"></div> <div id="panel"></div>
<div id="kityminder" onselectstart="return false"></div> <div id="kityminder" onselectstart="return false">
</div>
<div id="share-dialog"> <div id="share-dialog">
<h3>URL分享:</h3> <h3>URL分享:</h3>
...@@ -103,9 +113,14 @@ ...@@ -103,9 +113,14 @@
<!--脑图启动代码--> <!--脑图启动代码-->
<script> <script>
/* global km:true */
/* jshint browser:true */
// create km instance // create km instance
km = KM.getMinder('kityminder', window.KITYMINDER_CONFIG); km = KM.getMinder('kityminder', window.KITYMINDER_CONFIG);
// init ui for instance
km.initUI();
// New Version Notify // New Version Notify
$(function() { $(function() {
......
...@@ -16,7 +16,24 @@ KityMinder.LANG['zh-cn'] = { ...@@ -16,7 +16,24 @@ KityMinder.LANG['zh-cn'] = {
}, },
'maintopic': '中心主题', 'maintopic': '中心主题',
'topic': '分支主题', 'topic': '分支主题',
'tooltips': { 'panels': {
'history': '历史',
'template': '模板',
'theme': '皮肤',
'layout': '布局',
'style': '样式',
'font': '字体',
'color': '颜色',
'background': '背景',
'insert': '插入',
'arrange': '调整',
'nodeop': '当前',
'priority': '优先级',
'progress': '进度',
'resource': '资源',
'attachment': '附件'
},
'ui': {
'undo': '撤销', 'undo': '撤销',
'redo': '重做', 'redo': '重做',
'bold': '加粗', 'bold': '加粗',
...@@ -33,13 +50,37 @@ KityMinder.LANG['zh-cn'] = { ...@@ -33,13 +50,37 @@ KityMinder.LANG['zh-cn'] = {
'resource': '资源', 'resource': '资源',
'help': '帮助', 'help': '帮助',
'preference': '偏好设置', 'preference': '偏好设置',
'image': '插入图片',
'hyperlink': '插入链接',
'unhyperlink': '删除链接',
'expandnode': '展开到叶子', 'expandnode': '展开到叶子',
'collapsenode': '收起到一级节点', 'collapsenode': '收起到一级节点',
'template': '模板', 'template': '模板',
'theme': '皮肤' 'theme': '皮肤',
'clearstyle': '清除样式',
'copystyle': '复制样式',
'pastestyle': '粘贴样式',
'appendsiblingnode': '下一主题',
'appendchildnode': '儿子主题',
'arrangeup': '前调',
'arrangedown': '后调',
'editnode': '编辑',
'removenode': '移除',
'priority': '优先级',
'progress': {
'p1': '未开始',
'p2': '完成 1/8',
'p3': '完成 1/4',
'p4': '完成 3/8',
'p5': '完成一半',
'p6': '完成 5/8',
'p7': '完成 3/4',
'p8': '完成 7/8',
'p9': '已完成',
'p0': '清除进度'
},
'link': '链接',
'image': '图片',
'removelink': '移除已有连接',
'removeimage': '移除已有图片',
'resetlayout': '整理布局'
}, },
'popupcolor': { 'popupcolor': {
'clearColor': '清空颜色', 'clearColor': '清空颜色',
...@@ -76,12 +117,6 @@ KityMinder.LANG['zh-cn'] = { ...@@ -76,12 +117,6 @@ KityMinder.LANG['zh-cn'] = {
'image': {}, 'image': {},
'resource': {} 'resource': {}
}, },
'node': {
'appendsiblingnode': '插入兄弟节点',
'appendchildnode': '插入子节点',
'removenode': '删除',
'editnode': '编辑'
},
'hyperlink': { 'hyperlink': {
'hyperlink': '链接...', 'hyperlink': '链接...',
'unhyperlink': '移除链接' 'unhyperlink': '移除链接'
......
...@@ -9,6 +9,10 @@ Utils.extend(KityMinder, { ...@@ -9,6 +9,10 @@ Utils.extend(KityMinder, {
if (!KityMinder._defaultLayout) { if (!KityMinder._defaultLayout) {
KityMinder._defaultLayout = name; KityMinder._defaultLayout = name;
} }
},
getLayoutList: function() {
return this._layout;
} }
}); });
......
...@@ -34,7 +34,7 @@ kity.extendClass(Minder, { ...@@ -34,7 +34,7 @@ kity.extendClass(Minder, {
commandName: name.toLowerCase(), commandName: name.toLowerCase(),
commandArgs: cmdArgs commandArgs: cmdArgs
}; };
if (!cmd) { if (!cmd || !~this.queryCommandState(name)) {
return false; return false;
} }
......
...@@ -13,11 +13,17 @@ kity.extendClass(Minder, { ...@@ -13,11 +13,17 @@ kity.extendClass(Minder, {
}, },
// TODO: mousemove lazy bind // TODO: mousemove lazy bind
_bindPaperEvents: function() { _bindPaperEvents: function() {
this._paper.on('click dblclick mousedown contextmenu mouseup mousemove mousewheel DOMMouseScroll touchstart touchmove touchend dragenter dragleave drop', this._firePharse.bind(this)); this._paper.on('click dblclick keydown keyup keypress paste mousedown contextmenu mouseup mousemove mousewheel DOMMouseScroll touchstart touchmove touchend dragenter dragleave drop', this._firePharse.bind(this));
if (window) { if (window) {
window.addEventListener('resize', this._firePharse.bind(this)); window.addEventListener('resize', this._firePharse.bind(this));
window.addEventListener('blur', this._firePharse.bind(this)); window.addEventListener('blur', this._firePharse.bind(this));
} }
this._renderTarget.onfocus = function() {
console.log('focus');
};
this._renderTarget.onblur = function() {
console.log('blur');
};
}, },
_bindKeyboardEvents: function() { _bindKeyboardEvents: function() {
if ((navigator.userAgent.indexOf('iPhone') == -1) && (navigator.userAgent.indexOf('iPod') == -1) && (navigator.userAgent.indexOf('iPad') == -1)) { if ((navigator.userAgent.indexOf('iPhone') == -1) && (navigator.userAgent.indexOf('iPod') == -1) && (navigator.userAgent.indexOf('iPad') == -1)) {
......
...@@ -15,6 +15,7 @@ var Minder = KityMinder.Minder = kity.createClass('KityMinder', { ...@@ -15,6 +15,7 @@ var Minder = KityMinder.Minder = kity.createClass('KityMinder', {
this.setDisabled(); this.setDisabled();
} }
this.refresh(); this.refresh();
this.setTheme();
this.fire('ready'); this.fire('ready');
}, },
......
...@@ -22,6 +22,7 @@ kity.extendClass(Minder, { ...@@ -22,6 +22,7 @@ kity.extendClass(Minder, {
} }
}); });
if (changed.length) this.fire('interactchange');
while (i < changed.length) changed[i++].render(); while (i < changed.length) changed[i++].render();
}, },
getSelectedNodes: function() { getSelectedNodes: function() {
......
...@@ -56,7 +56,7 @@ kity.extendClass(Minder, { ...@@ -56,7 +56,7 @@ kity.extendClass(Minder, {
setTheme: function(name) { setTheme: function(name) {
this._theme = name || null; this._theme = name || null;
this.getPaper().getContainer().style.background = this.getStyle('background'); this.getRenderTarget().style.background = this.getStyle('background');
}, },
/** /**
......
...@@ -18,6 +18,11 @@ function desc(nodeA, nodeB) { ...@@ -18,6 +18,11 @@ function desc(nodeA, nodeB) {
return -asc(nodeA, nodeB); return -asc(nodeA, nodeB);
} }
function canArrange(km) {
var selected = km.getSelectedNode();
return selected && selected.parent && selected.parent.children.length > 1;
}
var ArrangeUpCommand = kity.createClass('ArrangeUpCommand', { var ArrangeUpCommand = kity.createClass('ArrangeUpCommand', {
base: Command, base: Command,
...@@ -31,6 +36,11 @@ var ArrangeUpCommand = kity.createClass('ArrangeUpCommand', { ...@@ -31,6 +36,11 @@ var ArrangeUpCommand = kity.createClass('ArrangeUpCommand', {
node.arrange(lastIndexes[index] - 1); node.arrange(lastIndexes[index] - 1);
}); });
km.layout(300); km.layout(300);
},
queryState: function(km) {
var selected = km.getSelectedNode();
return selected ? 0 : -1;
} }
}); });
...@@ -47,6 +57,11 @@ var ArrangeDownCommand = kity.createClass('ArrangeUpCommand', { ...@@ -47,6 +57,11 @@ var ArrangeDownCommand = kity.createClass('ArrangeUpCommand', {
node.arrange(lastIndexes[index] + 1); node.arrange(lastIndexes[index] + 1);
}); });
km.layout(300); km.layout(300);
},
queryState: function(km) {
var selected = km.getSelectedNode();
return selected ? 0 : -1;
} }
}); });
...@@ -80,6 +95,11 @@ var ArrangeCommand = kity.createClass('ArrangeCommand', { ...@@ -80,6 +95,11 @@ var ArrangeCommand = kity.createClass('ArrangeCommand', {
}); });
km.layout(300); km.layout(300);
},
queryState: function(km) {
var selected = km.getSelectedNode();
return selected ? 0 : -1;
} }
}); });
......
...@@ -7,7 +7,9 @@ KityMinder.registerModule("fontmodule", function() { ...@@ -7,7 +7,9 @@ KityMinder.registerModule("fontmodule", function() {
var dataColor = node.getData('color'); var dataColor = node.getData('color');
var selectedColor = node.getStyle('selected-color'); var selectedColor = node.getStyle('selected-color');
var styleColor = node.getStyle('color'); var styleColor = node.getStyle('color');
text.fill(dataColor || (node.isSelected() && selectedColor ? selectedColor : styleColor)); text.fill(dataColor || (node.isSelected() && selectedColor ? selectedColor : styleColor));
text.setFont({ text.setFont({
family: getNodeDataOrStyle(node, 'font-family'), family: getNodeDataOrStyle(node, 'font-family'),
size: getNodeDataOrStyle(node, 'font-size') size: getNodeDataOrStyle(node, 'font-size')
...@@ -17,40 +19,40 @@ KityMinder.registerModule("fontmodule", function() { ...@@ -17,40 +19,40 @@ KityMinder.registerModule("fontmodule", function() {
return { return {
defaultOptions: { defaultOptions: {
'fontfamily': [{ 'fontfamily': [{
name: 'songti', name: '宋体',
val: '宋体,SimSun' val: '宋体,SimSun'
}, { }, {
name: 'yahei', name: '微软雅黑',
val: '微软雅黑,Microsoft YaHei' val: '微软雅黑,Microsoft YaHei'
}, { }, {
name: 'kaiti', name: '楷体',
val: '楷体,楷体_GB2312, SimKai' val: '楷体,楷体_GB2312,SimKai'
}, { }, {
name: 'heiti', name: '黑体',
val: '黑体, SimHei' val: '黑体, SimHei'
}, { }, {
name: 'lishu', name: '隶书',
val: '隶书, SimLi' val: '隶书, SimLi'
}, { }, {
name: 'andaleMono', name: 'Andale Mono',
val: 'andale mono' val: 'andale mono'
}, { }, {
name: 'arial', name: 'Arial',
val: 'arial, helvetica,sans-serif' val: 'arial,helvetica,sans-serif'
}, { }, {
name: 'arialBlack', name: 'arialBlack',
val: 'arial black,avant garde' val: 'arial black,avant garde'
}, { }, {
name: 'comicSansMs', name: 'Comic Sans Ms',
val: 'comic sans ms' val: 'comic sans ms'
}, { }, {
name: 'impact', name: 'Impact',
val: 'impact,chicago' val: 'impact,chicago'
}, { }, {
name: 'timesNewRoman', name: 'Times New Roman',
val: 'times new roman' val: 'times new roman'
}, { }, {
name: 'sans-serif', name: 'Sans-Serif',
val: 'sans-serif' val: 'sans-serif'
}], }],
'fontsize': [10, 12, 16, 18, 24, 32, 48] 'fontsize': [10, 12, 16, 18, 24, 32, 48]
...@@ -77,7 +79,7 @@ KityMinder.registerModule("fontmodule", function() { ...@@ -77,7 +79,7 @@ KityMinder.registerModule("fontmodule", function() {
} }
}), }),
"backgroundcolor": kity.createClass("backgroudcolorCommand", { "background": kity.createClass("backgroudCommand", {
base: Command, base: Command,
execute: function(km, color) { execute: function(km, color) {
...@@ -110,7 +112,12 @@ KityMinder.registerModule("fontmodule", function() { ...@@ -110,7 +112,12 @@ KityMinder.registerModule("fontmodule", function() {
}); });
}, },
queryState: function(km) { queryState: function(km) {
return km.getSelectedNodes().length == 0 ? -1 : 0 return km.getSelectedNodes().length === 0 ? -1 : 0
},
queryValue: function(km) {
var node = km.getSelectedNode();
if (node) return node.getData('font-family');
return null;
} }
}), }),
"fontsize": kity.createClass("fontsizeCommand", { "fontsize": kity.createClass("fontsizeCommand", {
...@@ -126,6 +133,11 @@ KityMinder.registerModule("fontmodule", function() { ...@@ -126,6 +133,11 @@ KityMinder.registerModule("fontmodule", function() {
}, },
queryState: function(km) { queryState: function(km) {
return km.getSelectedNodes().length == 0 ? -1 : 0 return km.getSelectedNodes().length == 0 ? -1 : 0
},
queryValue: function(km) {
var node = km.getSelectedNode();
if (node) return node.getData('font-size');
return null;
} }
}) })
} }
......
...@@ -15,12 +15,12 @@ KityMinder.registerModule('image', function() { ...@@ -15,12 +15,12 @@ KityMinder.registerModule('image', function() {
fitRatio = maxWidth / maxHeight; fitRatio = maxWidth / maxHeight;
// 宽高比大于最大尺寸的宽高比,以宽度为标准适应 // 宽高比大于最大尺寸的宽高比,以宽度为标准适应
if (ratio > fitRatio && width > maxWidth) { if (width > maxWidth && ratio > fitRatio) {
width = maxWidth; width = maxWidth;
height = maxWidth / ratio; height = width / ratio;
} else if (height > maxHeight) { } else if (height > maxHeight) {
height = maxHeight; height = maxHeight;
width = maxHeight / ratio; width = height * ratio;
} }
return { return {
......
...@@ -34,7 +34,7 @@ var OutlineRenderer = kity.createClass('OutlineRenderer', { ...@@ -34,7 +34,7 @@ var OutlineRenderer = kity.createClass('OutlineRenderer', {
.setPosition(outlineBox.x, outlineBox.y) .setPosition(outlineBox.x, outlineBox.y)
.setSize(outlineBox.width, outlineBox.height) .setSize(outlineBox.width, outlineBox.height)
.setRadius(node.getStyle('radius')) .setRadius(node.getStyle('radius'))
.fill(node.getStyle(prefix + 'background') || node.getStyle('background')) .fill(node.getData('background') || node.getStyle(prefix + 'background') || node.getStyle('background'))
.stroke(node.getStyle(prefix + 'stroke' || node.getStyle('stroke')), .stroke(node.getStyle(prefix + 'stroke' || node.getStyle('stroke')),
node.getStyle(prefix + 'stroke-width')); node.getStyle(prefix + 'stroke-width'));
......
...@@ -61,7 +61,7 @@ KityMinder.registerModule('PriorityModule', function() { ...@@ -61,7 +61,7 @@ KityMinder.registerModule('PriorityModule', function() {
execute: function(km, value) { execute: function(km, value) {
var nodes = km.getSelectedNodes(); var nodes = km.getSelectedNodes();
for (var i = 0; i < nodes.length; i++) { for (var i = 0; i < nodes.length; i++) {
nodes[i].setData(PRIORITY_DATA, value).render(); nodes[i].setData(PRIORITY_DATA, value || null).render();
} }
km.layout(); km.layout();
}, },
...@@ -72,7 +72,7 @@ KityMinder.registerModule('PriorityModule', function() { ...@@ -72,7 +72,7 @@ KityMinder.registerModule('PriorityModule', function() {
val = nodes[i].getData(PRIORITY_DATA); val = nodes[i].getData(PRIORITY_DATA);
if (val) break; if (val) break;
} }
return val; return val || null;
}, },
queryState: function(km) { queryState: function(km) {
......
...@@ -54,7 +54,7 @@ KityMinder.registerModule('ProgressModule', function() { ...@@ -54,7 +54,7 @@ KityMinder.registerModule('ProgressModule', function() {
execute: function(km, value) { execute: function(km, value) {
var nodes = km.getSelectedNodes(); var nodes = km.getSelectedNodes();
for (var i = 0; i < nodes.length; i++) { for (var i = 0; i < nodes.length; i++) {
nodes[i].setData(PROGRESS_DATA, value).render(); nodes[i].setData(PROGRESS_DATA, value || null).render();
} }
km.layout(); km.layout();
}, },
...@@ -65,7 +65,7 @@ KityMinder.registerModule('ProgressModule', function() { ...@@ -65,7 +65,7 @@ KityMinder.registerModule('ProgressModule', function() {
val = nodes[i].getData(PROGRESS_DATA); val = nodes[i].getData(PROGRESS_DATA);
if (val) break; if (val) break;
} }
return val; return val|| null;
}, },
queryState: function(km) { queryState: function(km) {
......
...@@ -83,7 +83,7 @@ KityMinder.registerModule('Select', function() { ...@@ -83,7 +83,7 @@ KityMinder.registerModule('Select', function() {
minder.select(selectedNodes, true); minder.select(selectedNodes, true);
// 清除多余的东西 // 清除多余的东西
window.getSelection().removeAllRanges() window.getSelection().removeAllRanges();
}, },
selectEnd: function(e) { selectEnd: function(e) {
if (startPosition) { if (startPosition) {
......
KityMinder.registerModule('StyleModule', function() {
var styleNames = ['font-size', 'font-family', 'font-weight', 'font-style', 'background', 'color'];
var styleClipBoard = null;
function hasStyle(node) {
var data = node.getData();
for(var i = 0; i < styleNames.length; i++) {
if (styleNames[i] in data) return true;
}
}
return {
"commands": {
"copystyle": kity.createClass("CopyStyleCommand", {
base: Command,
execute: function(minder) {
var node = minder.getSelectedNode();
var nodeData = node.getData();
styleClipBoard = {};
styleNames.forEach(function(name) {
if (name in nodeData) styleClipBoard[name] = nodeData[name];
else {
styleClipBoard[name] = null;
delete styleClipBoard[name];
}
});
return styleClipBoard;
},
queryState: function(minder) {
var nodes = minder.getSelectedNodes();
if (nodes.length !== 1) return -1;
return hasStyle(nodes[0]) ? 0 : -1;
}
}),
"pastestyle": kity.createClass("PastStyleCommand", {
base: Command,
execute: function(minder) {
minder.getSelectedNodes().forEach(function(node) {
for (var name in styleClipBoard) {
if (styleClipBoard.hasOwnProperty(name))
node.setData(name, styleClipBoard[name]);
}
});
minder.renderNodeBatch(minder.getSelectedNodes());
minder.layout(300);
return styleClipBoard;
},
queryState: function(minder) {
return (styleClipBoard && minder.getSelectedNodes().length) ? 0 : -1;
}
}),
"clearstyle": kity.createClass("ClearStyleCommand", {
base: Command,
execute: function(minder) {
minder.getSelectedNodes().forEach(function(node) {
styleNames.forEach(function(name) {
node.setData(name);
});
});
minder.renderNodeBatch(minder.getSelectedNodes());
minder.layout(300);
return styleClipBoard;
},
queryState: function(minder) {
var nodes = minder.getSelectedNodes();
if (!nodes.length) return -1;
for(var i = 0; i < nodes.length; i++) {
if (hasStyle(nodes[i])) return 0;
}
return -1;
}
})
}
};
});
\ No newline at end of file
...@@ -87,6 +87,9 @@ var ViewDragger = kity.createClass("ViewDragger", { ...@@ -87,6 +87,9 @@ var ViewDragger = kity.createClass("ViewDragger", {
.on('mouseup touchend', dragEnd); .on('mouseup touchend', dragEnd);
window.addEventListener('mouseup', dragEnd); window.addEventListener('mouseup', dragEnd);
dragger._minder.getRenderTarget().addEventListener('contextmenu', function(e) {
e.preventDefault();
});
} }
}); });
......
KityMinder.registerTheme('classic', { KityMinder.registerTheme('classic', {
'background': '#3A4144 url(themes/default/images/grid.png) repeat', 'background': '#3A4144 url(ui/theme/default/images/grid.png) repeat',
'root-color': '#430', 'root-color': '#430',
'root-background': '#e9df98', 'root-background': '#e9df98',
......
KityMinder.registerTheme('snow', { KityMinder.registerTheme('snow', {
'background': '#3A4144 url(themes/default/images/grid.png) repeat', 'background': '#3A4144 url(ui/theme/default/images/grid.png) repeat',
'root-color': '#430', 'root-color': '#430',
'root-background': '#e9df98', 'root-background': '#e9df98',
......
KityMinder.registerUI('account', function(minder) {
});
\ No newline at end of file
KityMinder.registerUI('arrange', ['tabs', 'commandbutton'], function(minder, $tabs, $commandbutton) {
var $arrangePanel = new FUI.LabelPanel({
label: minder.getLang('panels.arrange'),
column: true
});
$commandbutton.generate('arrangeup').appendTo($arrangePanel);
$commandbutton.generate('arrangedown').appendTo($arrangePanel);
$tabs.idea.appendWidget($arrangePanel);
return $arrangePanel;
});
\ No newline at end of file
KityMinder.registerUI('attachment', ['tabs'], function(minder, $tabs) {
var $attachmentPanel = new FUI.LabelPanel({
label: minder.getLang('panels.attachment'),
coloum: true
}).appendTo($tabs.idea);
return $attachmentPanel;
});
\ No newline at end of file
function generateSerisColor() {
return ['#e75d66', '#fac75b', '#99ca6a', '#00c5ad', '#3bbce0', '#c9ced1', '#425b71', 'white'];
}
KityMinder.registerUI('color', ['tabs', 'commandbuttonset'], function(minder, $tabs, $commandbuttonset) {
var $colorPanel = new FUI.LabelPanel({
label: minder.getLang('panels.color')
}).appendTo($tabs.edit);
var $backgroundPanel = new FUI.LabelPanel({
label: minder.getLang('panels.background')
}).appendTo($tabs.edit);
var foreColorList = generateSerisColor();
$colorPanel.appendWidget($commandbuttonset.generate('forecolor', foreColorList.map(function(color) {
return {
icon: {
style: {
background: color
}
},
label: color,
text: color,
value: color
};
})).addClass('color-picker'));
$backgroundPanel.appendWidget($commandbuttonset.generate('background', foreColorList.map(function(color) {
return {
icon: {
style: {
background: color
}
},
label: color,
text: color,
value: color
};
})).addClass('color-picker'));
return {
color: $colorPanel,
background: $backgroundPanel
};
});
\ No newline at end of file
KityMinder.registerUI('commandbutton', function(minder) {
return {
generate: function(command, onclick) {
var $button = new FUI.Button({
label: minder.getLang('ui.' + command),
text: minder.getLang('ui.' + command),
className: ['command-widget', 'command-button', command]
});
$button.on('click', onclick || function() {
minder.execCommand(command);
});
$button.bindCommandState(minder, command);
return $button;
}
};
});
\ No newline at end of file
KityMinder.registerUI('commandbuttonset', function(minder) {
function mapValueItem(command, valueList) {
return valueList.map(function(value) {
var text = minder.getLang([command, value].join('.')) || value;
return {
label: text,
text: text,
value: value,
className: [command, value].join(' ')
};
});
}
function generate(command, valueList) {
var $buttonset = new FUI.Buttonset({
id: 'template-set',
buttons: typeof(valueList[0]) == 'object' ? valueList : mapValueItem(command, valueList),
className: ['command-widget', 'command-buttonset', command].join(' ')
});
$buttonset.on('change', function() {
minder.execCommand(command, $buttonset.getValue());
});
$buttonset.bindCommandState(minder, command, function(value) {
this.selectByValue(value);
});
return $buttonset;
}
return {
generate: generate
};
});
\ No newline at end of file
KityMinder.registerUI('commandinputmenu', function(minder) {
function generate(command, menuList) {
var $menu = new FUI.InputMenu({
menu: {
items: menuList
},
input: {
placeholder: minder.getLang('ui.' + command),
},
className: ['command-widget', 'command-inputmenu', command]
});
var interactFlag = false;
$menu.bindCommandState(minder, command, function(value) {
interactFlag = true;
if (!$menu.selectByValue(value)) {
$menu.clearSelect();
}
interactFlag = false;
});
var lastIndex = -1;
$menu.on('select', function(e, info) {
if (interactFlag) return;
if (~info.index) {
minder.execCommand(command, info.value);
} else {
$menu.select(lastIndex);
}
lastIndex = info.index;
});
return $menu;
}
return {
generate: generate
};
});
\ No newline at end of file
function fontUI(minder, $tabs, $commandInputMenu, $commandButton) {
var $fontPanel = new FUI.LabelPanel({
label: minder.getLang('panels.font'),
id: 'font-panel'
});
var $leftPanel = new FUI.Panel({
column: true
});
var $rightPanel = new FUI.Panel({
column: true
});
var $fontFamilyMenu = $commandInputMenu.generate('fontfamily', minder.getOptions('fontfamily').map(function(ff) {
return {
label: {
text: ff.name,
style: {
fontFamily: ff.val
}
},
text: ff.name,
value: ff.val
};
}));
var $fontSizeMenu = $commandInputMenu.generate('fontsize', minder.getOptions('fontsize').map(function(fs) {
return {
label: {
text: fs,
style: {
fontSize: fs
}
},
text: fs,
value: fs
};
}));
$leftPanel.appendWidgets([$fontFamilyMenu, $fontSizeMenu]);
var $boldButton = $commandButton.generate('bold');
var $italicButton = $commandButton.generate('italic');
$rightPanel.appendWidgets([$boldButton, $italicButton]);
$fontPanel.appendWidgets([$leftPanel, $rightPanel]);
$tabs.edit.appendWidget($fontPanel);
}
KityMinder.registerUI('font', ['tabs', 'commandinputmenu', 'commandbutton'], fontUI);
\ No newline at end of file
kity.extendClass(FUI.Widget, {
setEnable: function(value) {
if (value === false) this.disable();
else this.enable();
},
setActive: function(value) {
if (value === false) this.removeClass('active');
else this.addClass('active');
},
bindCommandState: function(minder, command, valueHandle) {
var $widget = this;
minder.on('interactchange', function() {
$widget.setEnable(this.queryCommandState(command) !== -1);
$widget.setActive(this.queryCommandState(command) === 1);
if (valueHandle) valueHandle.call($widget, this.queryCommandValue(command));
});
}
});
\ No newline at end of file
KityMinder.registerUI('history', ['commandbutton'], function(minder, $commandbutton) {
var ret = {};
['undo', 'redo'].forEach(function(command) {
ret[command] = $commandbutton.generate(command).appendTo(document.getElementById('panel'));
});
return ret;
});
\ No newline at end of file
KityMinder.registerUI('image', ['attachment'], function (minder, $attachment) {
var $imageButtonMenu = new FUI.ButtonMenu({
id: 'image-button-menu',
text: minder.getLang('ui.image'),
layout: 'bottom',
buttons: [{}, {
label: minder.getLang('ui.image')
}],
menu: {
items: [minder.getLang('ui.removeimage')]
}
}).appendTo($attachment);
$imageButtonMenu.bindCommandState(minder, 'image');
var $imageDialog = new FUI.Dialog({
width: 500,
height: 400,
caption: minder.getLang('ui.image')
}).appendTo(document.getElementById('content-wrapper'));
$imageDialog.on('ok', function() {
minder.execCommand('image', $url.val());
});
$imageDialog.on('open', function() {
$url.val(minder.queryCommandValue('image'));
$preview.attr('src', '');
error(false);
});
var $dialogBody = $($imageDialog.getBodyElement());
$dialogBody.html([
'<p><label>图片地址:</label><input type="url" class="image-url" /></p>',
'<p><label>提示文本:</label><input type="text" class="image-title /"></p>',
'<img class="image-preview" src="" style="max-height: 200px;" />'
].join(''));
var $url = $dialogBody.find('.image-url');
var $preview = $dialogBody.find('.image-preview');
var $ok = $imageDialog.getButton(0);
var $errorMsg = $('<span class="validate-error"></span>');
function error(value) {
if (value) {
$url.addClass('validate-error');
$errorMsg.text('图片无法加载');
$ok.disable();
} else {
$url.removeClass('validate-error');
$errorMsg.text('');
$ok.enable();
}
return value;
}
$url.after($errorMsg);
$url.on('input', function() {
var url = $url.val();
if (/^https?\:\/\/(\w+\.)+\w+/.test(url)) {
$preview.attr('src', url);
error(false);
$ok.disable();
$preview.addClass('loading');
} else {
error(true);
}
});
$preview.on('load', function() {
error(false);
$preview.removeClass('loading');
}).on('error', function() {
if($preview.attr('src')) error(true);
$preview.removeClass('loading');
});
$imageButtonMenu.on('buttonclick', function() {
$imageDialog.open();
$url[0].focus();
});
$imageButtonMenu.on('select', function() {
minder.execCommand('removeimage');
});
return $imageButtonMenu;
});
\ No newline at end of file
KityMinder.registerUI('insertnode', ['tabs', 'commandbutton'], function(minder, $tabs, $commandbutton) {
var $insertNodePanel = new FUI.LabelPanel({
label: minder.getLang('panels.insert'),
column: true
});
$commandbutton.generate('appendchildnode').appendTo($insertNodePanel);
$commandbutton.generate('appendsiblingnode').appendTo($insertNodePanel);
$tabs.idea.appendWidget($insertNodePanel);
return $insertNodePanel;
});
\ No newline at end of file
KityMinder.registerUI('layout', ['tabs', 'commandbuttonset', 'commandbutton'], function(minder, $tabs, $commandbuttonset, $commandbutton) {
var $layoutPanel = new FUI.LabelPanel({
id: 'layout-panel',
label: minder.getLang('panels.layout')
}).appendTo($tabs.edit);
var $layoutSelect = new FUI.DropPanel({
id: 'layout-select'
}).appendTo($layoutPanel);
var layoutList = KityMinder.Utils.keys(KityMinder.getLayoutList());
$layoutSelect.appendWidget($commandbuttonset.generate('layout', layoutList));
$commandbutton.generate('resetlayout').appendTo($layoutPanel).addClass('large');
return $layoutPanel;
});
\ No newline at end of file
KityMinder.registerUI('link', ['attachment'], function(minder, $attachment) {
var $linkButtonMenu = new FUI.ButtonMenu({
id: 'link-button-menu',
text: minder.getLang('ui.link'),
layout: 'bottom',
buttons: [{}, {
label: minder.getLang('ui.link')
}],
menu: {
items: [minder.getLang('ui.removelink')]
}
}).appendTo($attachment);
$linkButtonMenu.bindCommandState(minder, 'hyperlink');
var $linkDialog = new FUI.Dialog({
width: 600,
height: 200,
caption: minder.getLang('ui.link')
}).appendTo(document.getElementById('content-wrapper'));
var $dialogBody = $($linkDialog.getBodyElement());
$dialogBody.html([
'<p><label>连接地址:</label><input type="url" class="link-href" /></p>',
'<p><label>提示文本:</label><input type="text" class="link-title /"></p>'
].join(''));
var $href = $dialogBody.find('.link-href');
var $ok = $linkDialog.getButton(0);
var $errorMsg = $('<span class="validate-error"></span>');
function error(value) {
if (value) {
$href.addClass('validate-error');
$errorMsg.text('地址格式错误');
$ok.disable();
} else {
$href.removeClass('validate-error');
$errorMsg.text('');
$ok.enable();
}
}
$href.after($errorMsg);
$href.on('input', function() {
var url = $href.val();
error(!/^https?\:\/\/(\w+\.)+\w+/.test(url));
});
$linkButtonMenu.on('buttonclick', function() {
$linkDialog.open();
$href[0].focus();
});
$linkButtonMenu.on('select', function() {
minder.execCommand('unhyperlink');
});
$linkDialog.on('ok', function() {
minder.execCommand('hyperlink', $href.val());
});
$linkDialog.on('open', function() {
$href.val(minder.queryCommandValue('hyperlink'));
error(false);
});
return $linkButtonMenu;
});
\ No newline at end of file
KityMinder.registerUI('mainmenu', function(minder) {
var $button = new FUI.Button({
id: 'main-menu-btn'
});
var $panel;
$button.setLabel('百度脑图');
$button.appendTo(document.getElementById('panel'));
$button.on('click', function(e) {
$panel.addClass('show');
});
$panel = $('<div id="main-menu"></div>').appendTo('body');
$panel.click(function() {
$panel.removeClass('show');
});
return $panel;
});
\ No newline at end of file
KityMinder.registerUI('nodeop', ['tabs', 'commandbutton'], function(minder, $tabs, $commandbutton) {
var $opPanel = new FUI.LabelPanel({
label: minder.getLang('panels.nodeop'),
column: true
}).appendTo($tabs.idea);
['editnode', 'removenode'].forEach(function(cmd) {
$commandbutton.generate(cmd).appendTo($opPanel);
});
});
\ No newline at end of file
KityMinder.registerUI('priority', ['tabs', 'commandbuttonset'], function(minder, $tabs, $commandbuttonset) {
var $priorityPanel = new FUI.LabelPanel({
label: minder.getLang('panels.priority')
}).appendTo($tabs.idea);
$commandbuttonset.generate('priority', [1, 2, 3, 4, 5, 6, 7, 8, 9, 0].map(function(p) {
return {
label: p,
text: minder.getLang('ui.priority') + p,
value: p,
className: ['priority', p].join('-')
};
})).appendTo($priorityPanel);
return $priorityPanel;
});
\ No newline at end of file
KityMinder.registerUI('progress', ['tabs', 'commandbuttonset'], function(minder, $tabs, $commandbuttonset) {
var $progressPanel = new FUI.LabelPanel({
label: minder.getLang('panels.progress')
}).appendTo($tabs.idea);
$commandbuttonset.generate('progress', [1, 2, 3, 4, 5, 6, 7, 8, 9, 0].map(function(p) {
return {
label: p,
text: minder.getLang('ui.progress.p' + p),
value: p,
className: ['progress', p].join('-')
};
})).appendTo($progressPanel);
return $progressPanel;
});
\ No newline at end of file
KityMinder.registerUI('resource', ['tabs', 'commandbuttonset'], function(minder, $tabs, $commandbuttonset) {
var $resourcePanel = new FUI.LabelPanel({
label: minder.getLang('panels.resource'),
id: 'resource-panel'
}).appendTo($tabs.idea);
var $addInput = new FUI.Input().appendTo($resourcePanel);
var $addButton = new FUI.Button({
label: '添加'
}).appendTo($resourcePanel);
var $resourceDrop = new FUI.DropPanel().appendTo($resourcePanel);
var $dropContainer = $($resourceDrop.getPanelElement());
var $ul = $('<ul></ul>').addClass('resource-list').appendTo($dropContainer);
function addResource() {
var resource = $addInput.getValue();
var origin = minder.queryCommandValue('resource');
if (resource) {
origin.push(resource);
minder.execCommand('resource', origin);
}
$addInput.setValue(null);
update();
$addInput.focus();
}
$addInput.on('inputcomplete', function(e) {
addResource();
});
$addButton.on('click', addResource);
$dropContainer.delegate('input[type=checkbox]', 'change', function() {
minder.execCommand('resource', $dropContainer.find('input[type=checkbox]:checked').map(function(index, chk) {
return $(chk).data('resource');
}).toArray());
update();
});
function hash(resource, used) {
return [resource.join(','), used.join(',')].join(';');
}
function changed(resource, used) {
var currentHash = hash(resource, used);
if (currentHash == changed.lastHash) return true;
changed.lastHash = currentHash;
return false;
}
function update() {
var resource = minder.queryCommandValue('resource');
var used = minder.getUsedResource();
if (!changed(resource, used)) return;
$ul.empty().append(used.map(function(name) {
var $li = $('<li></li>'),
$label = $('<label></label>').appendTo($li),
$chk = $('<input type="checkbox" />')
.data('resource', name)
.prop('checked', ~resource.indexOf(name))
.appendTo($label);
$label.append(name);
var color = minder.getResourceColor(name);
return $li.css({
color: color.dec('l', 60).toString(),
backgroundColor: ~resource.indexOf(name) ? color : color.dec('a', 0.85).toRGBA()
});
}));
switch (minder.queryCommandState('resource')) {
case 0:
$addInput.enable();
$addButton.enable();
$resourceDrop.enable();
$ul.find('input[type=checkbox]').removeProp('disabled');
break;
case -1:
$addInput.disable();
$addButton.disable();
$resourceDrop.disable();
$ul.find('input[type=checkbox]').prop('disabled', 'disabled');
}
}
minder.on('interactchange', update);
return $resourcePanel;
});
\ No newline at end of file
KityMinder.registerUI('style', ['tabs', 'commandbutton'], function(minder, $tabs, $commandbutton) {
var $stylePanel = new FUI.LabelPanel({
label: minder.getLang('panels.style')
}).appendTo($tabs.edit);
$commandbutton.generate('clearstyle').addClass('large').appendTo($stylePanel);
var $styleClipPanel = new FUI.Panel({
column: true
}).appendTo($stylePanel);
$commandbutton.generate('copystyle').appendTo($styleClipPanel);
$commandbutton.generate('pastestyle').appendTo($styleClipPanel);
return $stylePanel;
});
\ No newline at end of file
KityMinder.registerUI('tabs', function(minder) {
var $tab = new FUI.Tabs({
buttons: ['思路', '展现', '视图']
});
var $header = $('<div id="tab-select"></div>').appendTo('#panel');
var $container = $('<div id="tab-container"></div>');
$('#panel').after($container);
$tab.appendButtonTo($header[0]);
$tab.appendPanelTo($container[0]);
// 隐藏效果
var lastIndex = 0;
$tab.on('tabsselect', function(e, info) {
if (info.index == lastIndex) {
$container.toggleClass('collapsed');
$header.toggleClass('collapsed');
} else {
$container.removeClass('collapsed');
$header.removeClass('collapsed');
}
lastIndex = info.index;
});
$tab.idea = $tab.getPanel(0);
$tab.edit = $tab.getPanel(1);
$tab.view = $tab.getPanel(2);
return $tab;
});
\ No newline at end of file
KityMinder.registerUI('template', ['tabs'], function(minder, $tabs) {
var buttonset = minder.getUI('commandbuttonset');
var $templatePanel = new FUI.LabelPanel({
id: 'template-panel',
label: minder.getLang('panels.template')
});
var $templateSelect = new FUI.DropPanel({
id: 'template-select'
});
$tabs.edit.appendWidget($templatePanel);
$templatePanel.appendWidget($templateSelect);
var templateList = KityMinder.Utils.keys(KityMinder.getTemplateList());
$templateSelect.appendWidget(buttonset.generate('template', templateList));
return $templatePanel;
});
\ No newline at end of file
KityMinder.registerUI('theme', ['tabs'], function(minder, $tabs) {
var buttonset = minder.getUI('commandbuttonset');
var $themePanel = new FUI.LabelPanel({
id: 'theme-panel',
label: minder.getLang('panels.theme')
});
var $themeSelect = new FUI.DropPanel({
id: 'theme-select'
});
$tabs.edit.appendWidget($themePanel);
$themePanel.appendWidget($themeSelect);
var themeList = KityMinder.Utils.keys(KityMinder.getThemeList());
$themeSelect.appendWidget(buttonset.generate('theme', themeList.map(function(theme) {
var style = KityMinder._themes[theme];
return {
label: {
text: minder.getLang('theme.' + theme),
style: {
background: style['root-background'],
color: style['root-color'],
borderRadius: style['root-radius'] / 2
}
},
text: minder.getLang('theme.' + theme),
value: theme,
className: ['theme', theme].join(' ')
};
})));
return $themePanel;
});
\ No newline at end of file
/**
* 页面下方 “关于” 面板的样式
*/
#about {
position: absolute;
bottom: 0;
right: 0;
height: 40px;
line-height: 40px;
background: #5d697a;
color: #eee;
font-family:Arial;
font-size: 13px;
font-weight:normal;
margin:0;
text-align: right;
padding: 0 15px 0 60px;
border-bottom: 5px solid #393F4F;
overflow: visible;
.transition(all ease .3s 0.3s);
.transform(translate(100%));
a {
color: #eee;
}
#km-cat {
position: absolute;
left: 15px;
top: 5px;
.transition(all ease 1.3s 0.3s);
.transform(translate(-60px, 0));
cursor: pointer;
}
#cat-face {
fill: #393F4F;
}
&:hover, &:hover #km-cat {
.transform(translate(0));
}
#km-version.new-version{
position: relative;
padding-right: 30px;
&:after {
content: 'NEW';
color: #ff0;
position: absolute;
top: -10px;
right: -5px;
display: block;
background: #f00;
padding: 0 5px;
border-radius: 4px;
text-shadow: none;
box-shadow: -1px 1px 3px rgba(0,0,0,0.3);
.transform(scale(.6))
}
}
}
.command-buttonset.color-picker {
width: 100px;
.fui-toggle-button {
margin: 3px 3px 0 0 !important;
padding: 2px !important;
border-radius: 100%;
border: 1px solid #efefef;
background: transparent;
&.fui-button-pressed {
border: 1px solid @button-active;
background: #fafcff;
}
&:hover {
border: 1px solid #ccd0d3;
background: #fff;
}
.fui-label {
display: none;
}
.fui-icon {
width: 16px;
height: 16px;
border-radius: 100%;
}
}
}
\ No newline at end of file
#font-panel {
.command-button {
padding: 0;
width: 20px;
height: 20px;
border: 1px solid transparent;
background: transparent;
&.active {
border: 1px solid #ccd0d3;
background: #fafcff;
}
&:hover {
border: 1px solid #ccd0d3;
background: #fff;
}
&:active {
background: darken(#fafcff, 5%);
}
border-radius: 11px;
margin-left: 5px;
margin-top: 2px;
margin-bottom: 2px !important;
.fui-label {
display: none;
}
}
}
\ No newline at end of file
...@@ -5,20 +5,6 @@ ...@@ -5,20 +5,6 @@
-o-filter: blur(5px); -o-filter: blur(5px);
filter: blur(5px); filter: blur(5px);
filter: url(../images/blur.svg#blur); filter: url(../images/blur.svg#blur);
/* transition: all ease 0.5s; */
}
.kmui-modal.kmui-dialog-help .kmui-modal-header {
display: none;
}
.kmui-modal.kmui-dialog-help .kmui-modal-body {
position: fixed;
left: 0;
top: 85px;
right: 0;
bottom: 0;
max-height: 1000000px;
background: hsla(222, 14%, 41%, 0.8);
} }
.shortcuts-opt { .shortcuts-opt {
margin: 0px 7px; margin: 0px 7px;
......
@import "_vars";
.command-button {
&.undo, &.redo {
float: left;
border: none;
width: @panel-height;
height: @panel-height;
line-height: @panel-height;
padding: 0;
margin: 0;
.fui-label {
display: none;
}
.fui-icon {
display: block;
width: @panel-height;
height: @panel-height;
background: url(../images/history.png) no-repeat;
}
&:hover {
background: @tab-hover;
.fui-icon {
background-position-y: -40px;
}
}
&:active {
background: @tab-active;
}
&.fui-disabled {
&:hover, &:active {
background: none;
}
.fui-icon {
background-position-y: 0;
}
}
}
&.undo {
margin-left: 10px;
}
&.redo {
.fui-icon {
background-position-x: -40px;
}
}
}
\ No newline at end of file
@iconsize: 20px;
.sprite(@index, @size:@iconsize) {
background-position: 0 (-@index * @iconsize);
}
.command-button .fui-icon {
background: url(../images/icons.png) no-repeat;
.sprite(-1);
.appendchildnode& { .sprite(0); }
.appendsiblingnode& { .sprite(1); }
.editnode& { .sprite(3); }
.removenode& { .sprite(4); }
.resetlayout& { background-position: 0 -150px; }
.clearstyle& { background-position: 0 -175px; }
.copystyle& { .sprite(10); }
.pastestyle& { .sprite(11); }
.bold& { .sprite(12); }
.italic& { .sprite(13); }
.arrangeup& { .sprite(14); }
.arrangedown& { .sprite(15); }
}
\ No newline at end of file
/**
* 基本页面样式
*/
@import "_vendor";
@import "_vars";
html, body, div {
margin: 0;
padding: 0;
overflow: hidden;
}
body, svg {
font-family: Arial, "Microsoft Yahei", "Heiti SC", sans-serif;
}
html, body {
height: 100%;
}
#content-wrapper {
overflow: hidden;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#kityminder {
position: absolute;
left: 0;
top: @panel-height;
right: 0;
bottom: 0;
-moz-user-select: none;
}
#panel {
background: hsl(224, 16%, 27%);
font-family: 'Hiragino Sans GB', 'Arial', 'Microsoft Yahei';
height: @panel-height;
overflow: visible;
position: relative;
}
.fui-widget {
-webkit-font-smoothing: auto;
}
\ No newline at end of file
@import "_vars";
@main-menu-btn-color: #ff6e6e;
#main-menu-btn {
display: block;
float: left;
height: @panel-height;
line-height: @panel-height;
padding: 0 30px 0 15px;
z-index: 11;
background-color: @main-menu-btn-color;
&:hover {
background-color: lighten(@main-menu-btn-color, 5%) !important;
}
&:active {
background-color: darken(@main-menu-btn-color, 5%) !important;
}
.fui-label {
height: @panel-height;
line-height: @panel-height;
font-size: 14px;
color: white;
}
&:after {
content: ' ';
display: block;
position: absolute;
width: 0;
height: 0;
line-height: 0;
font-size: 0;
border: 6px solid;
border-color: white transparent transparent transparent;
right: 12px;
top: @panel-height / 2 - 4;
}
}
#main-menu {
position: absolute;
background: gray;
top: 0;
left: 0;
right: 0;
opacity: 0;
.transition(opacity ease 0.2s);
&.show {
bottom: 0;
opacity: 1;
}
}
\ No newline at end of file
.priority-sprite(@count) when (@count >= 0) {
.priority-sprite(@count - 1);
&.priority-@{count} .fui-icon {
background-position: (-20px * (@count - 1)) 0;
}
}
#tab-container .command-buttonset.priority {
width: 140px;
.fui-button {
width: 20px;
height: 20px;
margin: 1px;
.fui-label {
display: none;
}
.fui-icon {
display: block;
height: 20px;
width: 20px;
background: url(../images/iconpriority.png) repeat-x;
background-color: transparent;
}
padding: 3px;
border-radius: 4px;
.priority-sprite(9);
&.fui-button-pressed {
background-color: @button-active;
}
}
}
\ No newline at end of file
.progress-sprite(@count) when (@count >= 0) {
.progress-sprite(@count - 1);
&.progress-@{count} .fui-icon {
background-position: (-20px * (@count - 1)) 0;
}
}
#tab-container .command-buttonset.progress {
width: 140px;
.fui-button {
width: 20px;
height: 20px;
margin: 1px;
.fui-label {
display: none;
}
.fui-icon {
display: block;
height: 20px;
width: 20px;
background: url(../images/iconprogress.png) repeat-x;
background-color: transparent;
}
padding: 3px;
border-radius: 4px;
.progress-sprite(9);
&.fui-button-pressed {
background-color: @button-active;
}
}
}
\ No newline at end of file
.km_receiver{
width:0;
height:0;
}
\ No newline at end of file
#resource-panel > .fui-panel-content > .fui-label-panel-content {
position: relative;
& > .fui-input {
width: 148px;
margin: 5px 0 0;
vertical-align: middle;
}
& > .fui-button {
left: auto;
right: 6px;
top: 11px;
padding: 1px 3px;
vertical-align: middle;
position: absolute;
}
& > .fui-drop-panel {
display: block;
height: 30px;
margin-top: -1px;
width: 140px;
}
}
#image-button-menu .fui-button:first-child {
background-image: url(../images/icons.png);
background-position: center -125px;
background-repeat: no-repeat;
}
#link-button-menu .fui-button:first-child {
background-image: url(../images/icons.png);
background-position: center -100px;
background-repeat: no-repeat;
}
ul.resource-list {
margin: 0;
padding: 0;
list-style: none;
li {
display: inline-block;
padding: 1px 2px;
border-radius: 4px;
margin: 5px 0px 5px 5px;
}
}
\ No newline at end of file
#share-dialog {
display: none;
}
\ No newline at end of file
@import "_vars";
#tab-select {
height: @panel-height;
line-height: @panel-height;
margin-left: 10px;
float: left;
.fui-button {
width: 60px;
height: @panel-height;
line-height: @panel-height;
text-align: 50px;
display: inline-block;
&:hover {
background: @tab-hover !important;
}
&:active {
background: @tab-active !important;
}
.fui-icon {
display: none;
}
.fui-label {
height: @panel-height;
line-height: @panel-height;
text-align: center;
display: block;
color: hsl(224, 6%, 80%);
font-size: 14px;
&:hover {
background: @tab-hover;
}
&:active {
background: darken(@tab-active, 10%);
}
}
&.fui-selected {
.fui-label {
color: white;
}
&:after {
content: ' ';
height: 0;
line-height: 0;
font-size: 0;
display: block;
position: absolute;
border: 6px solid;
border-color: transparent transparent white transparent;
bottom: 0;
left: 50%;
margin-left: -3px;
z-index: 11;
}
}
}
&.collapsed .fui-button.fui-selected {
.fui-label {
color: hsl(224, 6%, 80%);
}
&:after {
display: none;
}
}
}
#tab-container {
position: absolute;
top: @panel-height;
height: 89px;
left: 0;
right: 0;
background: white;
z-index: 10;
border-bottom: 1px solid #dbdbdb;
box-shadow: 0 -3px 3px rgba(0, 0, 0, .05);
/* 每一个 Tab 面板 */
& > .fui-panel {
display: block;
height: 100%;
/* 每一个小节 */
& > .fui-panel-content > .fui-panel {
height: 100%;
padding: 0 5px;
border-right: 1px dashed #eee;
& > .fui-panel-content > .fui-label {
text-align: center;
display: block;
width: 100%;
padding: 1px 0;
position: absolute;
bottom: 0;
top: auto;
}
& > .fui-panel-content > .fui-label-panel-content {
padding: 5px;
}
}
}
.transition(all 0.15s ease);
&.collapsed {
opacity: 0;
height: 0;
}
}
\ No newline at end of file
#template-panel {
& > .fui-panel-content
> .fui-label-panel-content
> .fui-drop-panel {
width: 65px;
height: 50px;
}
}
#theme-panel {
& > .fui-panel-content
> .fui-label-panel-content
> .fui-drop-panel {
width: 90px;
height: 50px;
}
}
#layout-panel {
& > .fui-panel-content
> .fui-label-panel-content
> .fui-drop-panel {
width: 65px;
height: 50px;
margin-right: 10px;
}
}
.fui-button.template {
width: 50px;
height: 40px;
padding: 0 2px !important;
margin: 5px 0 0 5px !important;
.fui-label {
display: none;
}
.fui-icon {
display: block;
width: 50px;
height: 40px;
background-image: url(../images/template.png);
background-repeat: no-repeat;
}
&.default .fui-icon {
background-position: 0 0;
}
&.structure .fui-icon {
background-position: -50px 0;
}
&.filetree .fui-icon {
background-position: -100px 0;
}
}
.fui-button.theme {
padding: 5px !important;
margin: 5px 0 0 5px !important;
.fui-label {
width: 60px;
height: 30px;
line-height: 30px;
text-align: center;
padding: 0 5px;
}
}
.fui-button.layout {
width: 50px;
height: 40px;
padding: 0 2px !important;
margin: 5px 0 0 5px !important;
.fui-label {
display: none;
}
.fui-icon {
display: block;
width: 50px;
height: 40px;
background-image: url(../images/layout.png);
background-repeat: no-repeat;
}
&.default .fui-icon {
background-position: 0 0;
}
&.bottom .fui-icon {
background-position: -100px 0;
}
&.filetree .fui-icon {
background-position: -200px 0;
}
}
\ No newline at end of file
.triangle {
content: ' ';
display: block;
width: 0;
height: 0;
padding: 0 !important;
line-height: 0;
font-size: 0;
border-style: solid;
border-color: transparent;
}
.triangle-top(@color, @width: 10px, @height: @width) {
.triangle;
border-width: @height (@width/2);
border-top-color: @color;
}
.triangle-bottom(@color, @width: 10px, @height: @width) {
.triangle;
border-width: @height (@width/2);
border-bottom-color: @color;
}
.triangle-left(@color, @width: 10px, @height: @width) {
.triangle;
border-width: (@height/2) @width;
border-left-color: @color;
}
.triangle-right(@color, @width: 10px, @height: @width) {
.triangle;
border-width: (@height/2) @width;
border-right-color: @color;
}
@panel-height: 40px;
@tab-hover: #5a6378;
@tab-active: darken(@tab-hover, 10%);
@button-border: #c9ced1;
@button-text: #5a6378;
@button-hover: hsl(222, 55%, 96%);
@button-active: hsl(222, 55%, 85%);
@button-pressed: hsl(222, 55%, 90%);
@border-color: #c9ced1;
@ui-color: #393f4f;
\ No newline at end of file
@import "_triangle";
@import "_vars";
#tab-container .fui-button {
display: inline-block;
padding: 2px 5px 2px 3px;
.fui-label {
color: @button-text;
font-size: 12px;
vertical-align: baseline;
}
&.command-button {
margin-bottom: 3px;
.fui-icon {
width: 20px;
height: 20px;
margin-right: 3px;
display: inline-block;
vertical-align: baseline;
}
&.large {
width: 50px;
height: 50px;
padding: 0;
.fui-icon {
width: 25px;
height: 25px;
margin-left: 12px;
margin-bottom: 3px;
margin-top: 4px;
}
.fui-label {
display: block;
text-align: center;
}
}
}
&:hover {
background-color: @button-hover;
}
&:active {
background-color: @button-active;
}
&.fui-disabled:hover,
&.fui-disabled:active {
background-color: transparent;
}
&.active {
background-color: @button-pressed;
}
}
.command-buttonset {
.fui-toggle-button {
&:hover {
background-color: @button-hover;
.fui-disabled& {
background-color: transparent;
}
}
&:active {
.transform(scale(0.9));
&:hover {
background-color: @button-active;
.fui-disabled& {
background-color: transparent;
}
}
}
&.fui-button-pressed {
background-color: @button-pressed;
}
}
}
.command-inputmenu {
& > .fui-input-button {
position: relative;
.fui-input {
width: 100px;
}
border-color: @border-color;
margin: 2px 0;
& > .fui-button {
position: absolute;
left: auto;
right: 0;
top: 0;
bottom: 0;
width: 20px;
border-left: 1px solid @border-color;
padding: 0 !important;
.fui-icon {
position: absolute;
left: auto;
right: 6px;
top: 50%;
margin-top: -2px;
.triangle-top(@button-text, 8px, 4px);
}
}
}
}
#tab-container .fui-drop-panel {
padding-right: 10px;
border-color: @border-color;
& > .fui-button {
position: absolute;
display: block;
right: 1px;
left: auto;
top: 1px;
bottom: 1px;
width: 10px;
padding: 0;
&:hover {
background: @button-hover;
}
&:active {
background: @button-active;
}
& > .fui-icon {
position: absolute;
.triangle-top(@button-text, 6px, 4px);
top: auto;
bottom: 2px;
left: 2px;
}
}
}
.fui-drop-panel-popup {
background: white;
box-shadow: 0 0 3px rgba(0,0,0,.3);
padding-right: 5px;
padding-bottom: 5px;
max-width: 300px;
}
#tab-container .fui-button-menu {
border: 1px solid transparent;
width: 40px;
height: 50px;
display: inline-block;
margin-top: 5px;
&:hover {
border-color: @button-hover;
}
.fui-button:first-child {
display: block;
width: 40px;
height: 25px;
padding: 0;
}
.fui-button:last-child {
display: block;
width: 40px;
height: 25px;
padding: 0;
.fui-label {
font-size: 12px;
}
.fui-icon {
.triangle-top(@button-text, 6px, 4px);
display: block;
position: absolute;
top: auto;
bottom: -2px;
left: 50%;
margin-left: -3px;
}
}
}
.fui-dialog {
& > .fui-panel-content {
padding: 0;
}
box-shadow: 0 0 5px rgba(0,0,0, .15);
border: none;
.fui-dialog-head {
background-color: @ui-color;
color: white;
h1 {
font-size: 14px;
font-weight: normal;
}
padding: 5px;
.fui-close-button {
.fui-close-button-icon { display: none; }
position: absolute;
right: 6px;
top: 7px;
left: auto;
display: block;
width: 20px;
height: 20px;
cursor: pointer;
border-radius: 100%;
&:hover {
background-color: hsl(0, 73%, 64%);
}
&:active {
background-color: hsl(0, 73%, 60%);
}
&:after {
content: 'x';
display: block;
width: 16px;
height: 16px;
font-family: inherit;
color: white;
font-size: 14px;
position: absolute;
left: 2px;
top: 1px;
line-height: 16px;
text-align: center;
}
}
}
.fui-dialog-body {
padding: 20px;
p {
margin: 0;
height: 40px;
}
input[type=text],
input[type=url] {
border: 1px solid @border-color;
outline: none;
height: 20px;
padding: 2px 4px;
width: 300px;
}
}
.fui-dialog-foot {
position: absolute;
bottom: 0;
left: 0;
right: 0;
top: auto;
height: 50px;
border-top: 1px solid @border-color;
text-align: right;
.fui-button {
width: 80px;
height: 30px;
line-height: 30px;
text-align: center;
&:hover {
background: lighten(@ui-color, 60%);
}
&:active {
background: lighten(@ui-color, 55%);
}
&.fui-xdialog-ok-btn {
background: @ui-color;
&:hover {
background: lighten(@ui-color, 5%);
}
&:active {
background: darken(@ui-color, 3%);
}
border-color: transparent;
.fui-label {
color: white;
}
}
border: 1px solid @border-color;
border-radius: 4px;
margin: 8px 8px 0 0;
.fui-label {
font-size: 14px;
line-height: 30px;
height: 30px;
}
}
}
}
.validate-error {
color: red;
border-color: red !important;
}
.triangle {
content: ' ';
display: block;
width: 0;
height: 0;
padding: 0 !important;
line-height: 0;
font-size: 0;
border-style: solid;
border-color: transparent;
}
#tab-container .fui-button {
display: inline-block;
padding: 2px 5px 2px 3px;
}
#tab-container .fui-button .fui-label {
color: #5a6378;
font-size: 12px;
vertical-align: baseline;
}
#tab-container .fui-button.command-button {
margin-bottom: 3px;
}
#tab-container .fui-button.command-button .fui-icon {
width: 20px;
height: 20px;
margin-right: 3px;
display: inline-block;
vertical-align: baseline;
}
#tab-container .fui-button.command-button.large {
width: 50px;
height: 50px;
padding: 0;
}
#tab-container .fui-button.command-button.large .fui-icon {
width: 25px;
height: 25px;
margin-left: 12px;
margin-bottom: 3px;
margin-top: 4px;
}
#tab-container .fui-button.command-button.large .fui-label {
display: block;
text-align: center;
}
#tab-container .fui-button:hover {
background-color: #eff3fa;
}
#tab-container .fui-button:active {
background-color: #c4d0ee;
}
#tab-container .fui-button.fui-disabled:hover,
#tab-container .fui-button.fui-disabled:active {
background-color: transparent;
}
#tab-container .fui-button.active {
background-color: #d7e0f4;
}
.command-buttonset .fui-toggle-button:hover {
background-color: #eff3fa;
}
.fui-disabled.command-buttonset .fui-toggle-button:hover {
background-color: transparent;
}
.command-buttonset .fui-toggle-button:active {
-webkit-transform: scale(0.9);
-moz-transform: scale(0.9);
-ms-transform: scale(0.9);
-o-transform: scale(0.9);
tranform: scale(0.9);
}
.command-buttonset .fui-toggle-button:active:hover {
background-color: #c4d0ee;
}
.fui-disabled.command-buttonset .fui-toggle-button:active:hover {
background-color: transparent;
}
.command-buttonset .fui-toggle-button.fui-button-pressed {
background-color: #d7e0f4;
}
.command-inputmenu > .fui-input-button {
position: relative;
border-color: #c9ced1;
margin: 2px 0;
}
.command-inputmenu > .fui-input-button .fui-input {
width: 100px;
}
.command-inputmenu > .fui-input-button > .fui-button {
position: absolute;
left: auto;
right: 0;
top: 0;
bottom: 0;
width: 20px;
border-left: 1px solid #c9ced1;
padding: 0 !important;
}
.command-inputmenu > .fui-input-button > .fui-button .fui-icon {
position: absolute;
left: auto;
right: 6px;
top: 50%;
margin-top: -2px;
content: ' ';
display: block;
width: 0;
height: 0;
padding: 0 !important;
line-height: 0;
font-size: 0;
border-style: solid;
border-color: transparent;
border-width: 4px 4px;
border-top-color: #5a6378;
}
#tab-container .fui-drop-panel {
padding-right: 10px;
border-color: #c9ced1;
}
#tab-container .fui-drop-panel > .fui-button {
position: absolute;
display: block;
right: 1px;
left: auto;
top: 1px;
bottom: 1px;
width: 10px;
padding: 0;
}
#tab-container .fui-drop-panel > .fui-button:hover {
background: #eff3fa;
}
#tab-container .fui-drop-panel > .fui-button:active {
background: #c4d0ee;
}
#tab-container .fui-drop-panel > .fui-button > .fui-icon {
position: absolute;
content: ' ';
display: block;
width: 0;
height: 0;
padding: 0 !important;
line-height: 0;
font-size: 0;
border-style: solid;
border-color: transparent;
border-width: 4px 3px;
border-top-color: #5a6378;
top: auto;
bottom: 2px;
left: 2px;
}
.fui-drop-panel-popup {
background: white;
box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
padding-right: 5px;
padding-bottom: 5px;
max-width: 300px;
}
#tab-container .fui-button-menu {
border: 1px solid transparent;
width: 40px;
height: 50px;
display: inline-block;
margin-top: 5px;
}
#tab-container .fui-button-menu:hover {
border-color: #eff3fa;
}
#tab-container .fui-button-menu .fui-button:first-child {
display: block;
width: 40px;
height: 25px;
padding: 0;
}
#tab-container .fui-button-menu .fui-button:last-child {
display: block;
width: 40px;
height: 25px;
padding: 0;
}
#tab-container .fui-button-menu .fui-button:last-child .fui-label {
font-size: 12px;
}
#tab-container .fui-button-menu .fui-button:last-child .fui-icon {
content: ' ';
width: 0;
height: 0;
padding: 0 !important;
line-height: 0;
font-size: 0;
border-style: solid;
border-color: transparent;
border-width: 4px 3px;
border-top-color: #5a6378;
display: block;
position: absolute;
top: auto;
bottom: -2px;
left: 50%;
margin-left: -3px;
}
.fui-dialog {
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
border: none;
}
.fui-dialog > .fui-panel-content {
padding: 0;
}
.fui-dialog .fui-dialog-head {
background-color: #393f4f;
color: white;
padding: 5px;
}
.fui-dialog .fui-dialog-head h1 {
font-size: 14px;
font-weight: normal;
}
.fui-dialog .fui-dialog-head .fui-close-button {
position: absolute;
right: 6px;
top: 7px;
left: auto;
display: block;
width: 20px;
height: 20px;
cursor: pointer;
border-radius: 100%;
}
.fui-dialog .fui-dialog-head .fui-close-button .fui-close-button-icon {
display: none;
}
.fui-dialog .fui-dialog-head .fui-close-button:hover {
background-color: #e66060;
}
.fui-dialog .fui-dialog-head .fui-close-button:active {
background-color: #e34f4f;
}
.fui-dialog .fui-dialog-head .fui-close-button:after {
content: 'x';
display: block;
width: 16px;
height: 16px;
font-family: inherit;
color: white;
font-size: 14px;
position: absolute;
left: 2px;
top: 1px;
line-height: 16px;
text-align: center;
}
.fui-dialog .fui-dialog-body {
padding: 20px;
}
.fui-dialog .fui-dialog-body p {
margin: 0;
height: 40px;
}
.fui-dialog .fui-dialog-body input[type=text],
.fui-dialog .fui-dialog-body input[type=url] {
border: 1px solid #c9ced1;
outline: none;
height: 20px;
padding: 2px 4px;
width: 300px;
}
.fui-dialog .fui-dialog-foot {
position: absolute;
bottom: 0;
left: 0;
right: 0;
top: auto;
height: 50px;
border-top: 1px solid #c9ced1;
text-align: right;
}
.fui-dialog .fui-dialog-foot .fui-button {
width: 80px;
height: 30px;
line-height: 30px;
text-align: center;
border: 1px solid #c9ced1;
border-radius: 4px;
margin: 8px 8px 0 0;
}
.fui-dialog .fui-dialog-foot .fui-button:hover {
background: #d7dbe3;
}
.fui-dialog .fui-dialog-foot .fui-button:active {
background: #c9cdd8;
}
.fui-dialog .fui-dialog-foot .fui-button.fui-xdialog-ok-btn {
background: #393f4f;
border-color: transparent;
}
.fui-dialog .fui-dialog-foot .fui-button.fui-xdialog-ok-btn:hover {
background: #444b5e;
}
.fui-dialog .fui-dialog-foot .fui-button.fui-xdialog-ok-btn:active {
background: #333846;
}
.fui-dialog .fui-dialog-foot .fui-button.fui-xdialog-ok-btn .fui-label {
color: white;
}
.fui-dialog .fui-dialog-foot .fui-button .fui-label {
font-size: 14px;
line-height: 30px;
height: 30px;
}
.validate-error {
color: red;
border-color: red !important;
}
/**
* 基本页面样式
*/
html,
body,
div {
margin: 0;
padding: 0;
overflow: hidden;
}
body,
svg {
font-family: Arial, "Microsoft Yahei", "Heiti SC", sans-serif;
}
html,
body {
height: 100%;
}
#content-wrapper {
overflow: hidden;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#kityminder {
position: absolute;
left: 0;
top: 40px;
right: 0;
bottom: 0;
-moz-user-select: none;
}
#panel {
background: #3a4050;
font-family: 'Hiragino Sans GB', 'Arial', 'Microsoft Yahei';
height: 40px;
overflow: visible;
position: relative;
}
.fui-widget {
-webkit-font-smoothing: auto;
}
#main-menu-btn {
display: block;
float: left;
height: 40px;
line-height: 40px;
padding: 0 30px 0 15px;
z-index: 11;
background-color: #ff6e6e;
}
#main-menu-btn:hover {
background-color: #ff8888 !important;
}
#main-menu-btn:active {
background-color: #ff5555 !important;
}
#main-menu-btn .fui-label {
height: 40px;
line-height: 40px;
font-size: 14px;
color: white;
}
#main-menu-btn:after {
content: ' ';
display: block;
position: absolute;
width: 0;
height: 0;
line-height: 0;
font-size: 0;
border: 6px solid;
border-color: white transparent transparent transparent;
right: 12px;
top: 16px;
}
#main-menu {
position: absolute;
background: gray;
top: 0;
left: 0;
right: 0;
opacity: 0;
-webkit-transition: opacity ease 0.2s;
-moz-transition: opacity ease 0.2s;
-ms-transition: opacity ease 0.2s;
-o-transition: opacity ease 0.2s;
transition: opacity ease 0.2s;
}
#main-menu.show {
bottom: 0;
opacity: 1;
}
.command-button.undo,
.command-button.redo {
float: left;
border: none;
width: 40px;
height: 40px;
line-height: 40px;
padding: 0;
margin: 0;
}
.command-button.undo .fui-label,
.command-button.redo .fui-label {
display: none;
}
.command-button.undo .fui-icon,
.command-button.redo .fui-icon {
display: block;
width: 40px;
height: 40px;
background: url(../images/history.png) no-repeat;
}
.command-button.undo:hover,
.command-button.redo:hover {
background: #5a6378;
}
.command-button.undo:hover .fui-icon,
.command-button.redo:hover .fui-icon {
background-position-y: -40px;
}
.command-button.undo:active,
.command-button.redo:active {
background: #444b5b;
}
.command-button.undo.fui-disabled:hover,
.command-button.redo.fui-disabled:hover,
.command-button.undo.fui-disabled:active,
.command-button.redo.fui-disabled:active {
background: none;
}
.command-button.undo.fui-disabled .fui-icon,
.command-button.redo.fui-disabled .fui-icon {
background-position-y: 0;
}
.command-button.undo {
margin-left: 10px;
}
.command-button.redo .fui-icon {
background-position-x: -40px;
}
#tab-select {
height: 40px;
line-height: 40px;
margin-left: 10px;
float: left;
}
#tab-select .fui-button {
width: 60px;
height: 40px;
line-height: 40px;
text-align: 50px;
display: inline-block;
}
#tab-select .fui-button:hover {
background: #5a6378 !important;
}
#tab-select .fui-button:active {
background: #444b5b !important;
}
#tab-select .fui-button .fui-icon {
display: none;
}
#tab-select .fui-button .fui-label {
height: 40px;
line-height: 40px;
text-align: center;
display: block;
color: #c9cbcf;
font-size: 14px;
}
#tab-select .fui-button .fui-label:hover {
background: #5a6378;
}
#tab-select .fui-button .fui-label:active {
background: #2e333e;
}
#tab-select .fui-button.fui-selected .fui-label {
color: white;
}
#tab-select .fui-button.fui-selected:after {
content: ' ';
height: 0;
line-height: 0;
font-size: 0;
display: block;
position: absolute;
border: 6px solid;
border-color: transparent transparent white transparent;
bottom: 0;
left: 50%;
margin-left: -3px;
z-index: 11;
}
#tab-select.collapsed .fui-button.fui-selected .fui-label {
color: #c9cbcf;
}
#tab-select.collapsed .fui-button.fui-selected:after {
display: none;
}
#tab-container {
position: absolute;
top: 40px;
height: 89px;
left: 0;
right: 0;
background: white;
z-index: 10;
border-bottom: 1px solid #dbdbdb;
box-shadow: 0 -3px 3px rgba(0, 0, 0, 0.05);
/* 每一个 Tab 面板 */
-webkit-transition: all 0.15s ease;
-moz-transition: all 0.15s ease;
-ms-transition: all 0.15s ease;
-o-transition: all 0.15s ease;
transition: all 0.15s ease;
}
#tab-container > .fui-panel {
display: block;
height: 100%;
/* 每一个小节 */
}
#tab-container > .fui-panel > .fui-panel-content > .fui-panel {
height: 100%;
padding: 0 5px;
border-right: 1px dashed #eee;
}
#tab-container > .fui-panel > .fui-panel-content > .fui-panel > .fui-panel-content > .fui-label {
text-align: center;
display: block;
width: 100%;
padding: 1px 0;
position: absolute;
bottom: 0;
top: auto;
}
#tab-container > .fui-panel > .fui-panel-content > .fui-panel > .fui-panel-content > .fui-label-panel-content {
padding: 5px;
}
#tab-container.collapsed {
opacity: 0;
height: 0;
}
#tab-container .command-buttonset.priority {
width: 140px;
}
#tab-container .command-buttonset.priority .fui-button {
width: 20px;
height: 20px;
margin: 1px;
padding: 3px;
border-radius: 4px;
}
#tab-container .command-buttonset.priority .fui-button .fui-label {
display: none;
}
#tab-container .command-buttonset.priority .fui-button .fui-icon {
display: block;
height: 20px;
width: 20px;
background: url(../images/iconpriority.png) repeat-x;
background-color: transparent;
}
#tab-container .command-buttonset.priority .fui-button.priority-0 .fui-icon {
background-position: 20px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-1 .fui-icon {
background-position: 0px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-2 .fui-icon {
background-position: -20px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-3 .fui-icon {
background-position: -40px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-4 .fui-icon {
background-position: -60px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-5 .fui-icon {
background-position: -80px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-6 .fui-icon {
background-position: -100px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-7 .fui-icon {
background-position: -120px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-8 .fui-icon {
background-position: -140px 0;
}
#tab-container .command-buttonset.priority .fui-button.priority-9 .fui-icon {
background-position: -160px 0;
}
#tab-container .command-buttonset.priority .fui-button.fui-button-pressed {
background-color: #c4d0ee;
}
#tab-container .command-buttonset.progress {
width: 140px;
}
#tab-container .command-buttonset.progress .fui-button {
width: 20px;
height: 20px;
margin: 1px;
padding: 3px;
border-radius: 4px;
}
#tab-container .command-buttonset.progress .fui-button .fui-label {
display: none;
}
#tab-container .command-buttonset.progress .fui-button .fui-icon {
display: block;
height: 20px;
width: 20px;
background: url(../images/iconprogress.png) repeat-x;
background-color: transparent;
}
#tab-container .command-buttonset.progress .fui-button.progress-0 .fui-icon {
background-position: 20px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-1 .fui-icon {
background-position: 0px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-2 .fui-icon {
background-position: -20px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-3 .fui-icon {
background-position: -40px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-4 .fui-icon {
background-position: -60px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-5 .fui-icon {
background-position: -80px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-6 .fui-icon {
background-position: -100px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-7 .fui-icon {
background-position: -120px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-8 .fui-icon {
background-position: -140px 0;
}
#tab-container .command-buttonset.progress .fui-button.progress-9 .fui-icon {
background-position: -160px 0;
}
#tab-container .command-buttonset.progress .fui-button.fui-button-pressed {
background-color: #c4d0ee;
}
#resource-panel > .fui-panel-content > .fui-label-panel-content {
position: relative;
}
#resource-panel > .fui-panel-content > .fui-label-panel-content > .fui-input {
width: 148px;
margin: 5px 0 0;
vertical-align: middle;
}
#resource-panel > .fui-panel-content > .fui-label-panel-content > .fui-button {
left: auto;
right: 6px;
top: 11px;
padding: 1px 3px;
vertical-align: middle;
position: absolute;
}
#resource-panel > .fui-panel-content > .fui-label-panel-content > .fui-drop-panel {
display: block;
height: 30px;
margin-top: -1px;
width: 140px;
}
#image-button-menu .fui-button:first-child {
background-image: url(../images/icons.png);
background-position: center -125px;
background-repeat: no-repeat;
}
#link-button-menu .fui-button:first-child {
background-image: url(../images/icons.png);
background-position: center -100px;
background-repeat: no-repeat;
}
ul.resource-list {
margin: 0;
padding: 0;
list-style: none;
}
ul.resource-list li {
display: inline-block;
padding: 1px 2px;
border-radius: 4px;
margin: 5px 0px 5px 5px;
}
#template-panel > .fui-panel-content > .fui-label-panel-content > .fui-drop-panel {
width: 65px;
height: 50px;
}
#theme-panel > .fui-panel-content > .fui-label-panel-content > .fui-drop-panel {
width: 90px;
height: 50px;
}
#layout-panel > .fui-panel-content > .fui-label-panel-content > .fui-drop-panel {
width: 65px;
height: 50px;
margin-right: 10px;
}
.fui-button.template {
width: 50px;
height: 40px;
padding: 0 2px !important;
margin: 5px 0 0 5px !important;
}
.fui-button.template .fui-label {
display: none;
}
.fui-button.template .fui-icon {
display: block;
width: 50px;
height: 40px;
background-image: url(../images/template.png);
background-repeat: no-repeat;
}
.fui-button.template.default .fui-icon {
background-position: 0 0;
}
.fui-button.template.structure .fui-icon {
background-position: -50px 0;
}
.fui-button.template.filetree .fui-icon {
background-position: -100px 0;
}
.fui-button.theme {
padding: 5px !important;
margin: 5px 0 0 5px !important;
}
.fui-button.theme .fui-label {
width: 60px;
height: 30px;
line-height: 30px;
text-align: center;
padding: 0 5px;
}
.fui-button.layout {
width: 50px;
height: 40px;
padding: 0 2px !important;
margin: 5px 0 0 5px !important;
}
.fui-button.layout .fui-label {
display: none;
}
.fui-button.layout .fui-icon {
display: block;
width: 50px;
height: 40px;
background-image: url(../images/layout.png);
background-repeat: no-repeat;
}
.fui-button.layout.default .fui-icon {
background-position: 0 0;
}
.fui-button.layout.bottom .fui-icon {
background-position: -100px 0;
}
.fui-button.layout.filetree .fui-icon {
background-position: -200px 0;
}
#font-panel .command-button {
padding: 0;
width: 20px;
height: 20px;
border: 1px solid transparent;
background: transparent;
border-radius: 11px;
margin-left: 5px;
margin-top: 2px;
margin-bottom: 2px !important;
}
#font-panel .command-button.active {
border: 1px solid #ccd0d3;
background: #fafcff;
}
#font-panel .command-button:hover {
border: 1px solid #ccd0d3;
background: #fff;
}
#font-panel .command-button:active {
background: #e1edff;
}
#font-panel .command-button .fui-label {
display: none;
}
.command-buttonset.color-picker {
width: 100px;
}
.command-buttonset.color-picker .fui-toggle-button {
margin: 3px 3px 0 0 !important;
padding: 2px !important;
border-radius: 100%;
border: 1px solid #efefef;
background: transparent;
}
.command-buttonset.color-picker .fui-toggle-button.fui-button-pressed {
border: 1px solid #c4d0ee;
background: #fafcff;
}
.command-buttonset.color-picker .fui-toggle-button:hover {
border: 1px solid #ccd0d3;
background: #fff;
}
.command-buttonset.color-picker .fui-toggle-button .fui-label {
display: none;
}
.command-buttonset.color-picker .fui-toggle-button .fui-icon {
width: 16px;
height: 16px;
border-radius: 100%;
}
/**
* 页面下方 “关于” 面板的样式
*/
#about {
position: absolute;
bottom: 0;
right: 0;
height: 40px;
line-height: 40px;
background: #5d697a;
color: #eee;
font-family: Arial;
font-size: 13px;
font-weight: normal;
margin: 0;
text-align: right;
padding: 0 15px 0 60px;
border-bottom: 5px solid #393F4F;
overflow: visible;
-webkit-transition: all ease 0.3s 0.3s;
-moz-transition: all ease 0.3s 0.3s;
-ms-transition: all ease 0.3s 0.3s;
-o-transition: all ease 0.3s 0.3s;
transition: all ease 0.3s 0.3s;
-webkit-transform: translate(100%);
-moz-transform: translate(100%);
-ms-transform: translate(100%);
-o-transform: translate(100%);
tranform: translate(100%);
}
#about a {
color: #eee;
}
#about #km-cat {
position: absolute;
left: 15px;
top: 5px;
-webkit-transition: all ease 1.3s 0.3s;
-moz-transition: all ease 1.3s 0.3s;
-ms-transition: all ease 1.3s 0.3s;
-o-transition: all ease 1.3s 0.3s;
transition: all ease 1.3s 0.3s;
-webkit-transform: translate(-60px, 0);
-moz-transform: translate(-60px, 0);
-ms-transform: translate(-60px, 0);
-o-transform: translate(-60px, 0);
tranform: translate(-60px, 0);
cursor: pointer;
}
#about #cat-face {
fill: #393F4F;
}
#about:hover,
#about:hover #km-cat {
-webkit-transform: translate(0);
-moz-transform: translate(0);
-ms-transform: translate(0);
-o-transform: translate(0);
tranform: translate(0);
}
#about #km-version.new-version {
position: relative;
padding-right: 30px;
}
#about #km-version.new-version:after {
content: 'NEW';
color: #ff0;
position: absolute;
top: -10px;
right: -5px;
display: block;
background: #f00;
padding: 0 5px;
border-radius: 4px;
text-shadow: none;
box-shadow: -1px 1px 3px rgba(0, 0, 0, 0.3);
-webkit-transform: scale(0.6);
-moz-transform: scale(0.6);
-ms-transform: scale(0.6);
-o-transform: scale(0.6);
tranform: scale(0.6);
}
.km_receiver {
width: 0;
height: 0;
}
.blur {
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-mz-filter: blur(5px);
-o-filter: blur(5px);
filter: blur(5px);
filter: url(../images/blur.svg#blur);
}
.shortcuts-opt {
margin: 0px 7px;
background-color: #fff;
font-size: 14px;
}
.shortcuts-group {
padding-right: 15px;
width: 200px;
text-shadow: none;
}
.shortcuts-thead {
font-size: 14px;
font-weight: bold;
line-height: 14px;
}
#div1 {
display: none;
}
/*.help-container {
width: 586px;
float: left;
}*/
.shortcuts-use {
width: 160px;
font-size: 14px;
font-weight: lighter;
}
.help-header {
padding-bottom: 9px;
margin: 20px 20px 30px;
border-bottom: 1px solid #EEE;
display: none;
}
.shortcuts-table {
max-width: 100%;
background-color: transparent;
border-collapse: collapse;
border-spacing: 0px;
float: left;
margin-left: 10px;
margin-top: 30px;
}
.shortcuts-table tr:first-child td span {
padding: 10px 0;
font-size: 18px;
display: block;
color: white;
}
.shortcuts-table td {
display: table-cell;
float: none;
margin-left: 0px;
padding-bottom: 7px;
}
.shortcuts-table td[colspan] {
text-align: center;
}
.shortcuts-table h2 {
font-size: 31.5px;
line-height: 40px;
}
.help-container {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 20px;
color: #ffffff;
text-shadow: 0 1px black;
margin: 30px;
}
.shortcuts-key {
display: inline-block;
padding: 3px 8px 5px;
font-size: 14px;
font-weight: normal;
line-height: 14px;
color: #6e6e6e;
/* text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.25); */
white-space: nowrap;
vertical-align: baseline;
background-color: #fcfcfc;
border-radius: 3px;
/* border: 1px solid hsl(0, 0%, 60%); */
text-transform: capitalize;
box-shadow: inset 0 -2px #ebebeb, inset 0 -3px #ffffff, 0 1px 2px rgba(255, 255, 255, 0.3);
}
.mac .shortcuts-key.ctrl,
.mac .shortcuts-key.shift,
.mac .shortcuts-key.alt,
.shortcuts-key.up,
.shortcuts-key.down,
.shortcuts-key.left,
.shortcuts-key.right {
text-indent: -1000px;
position: relative;
width: 9px;
}
.mac .shortcuts-key.ctrl:after,
.mac .shortcuts-key.shift:after,
.mac .shortcuts-key.alt:after,
.shortcuts-key.up:after,
.shortcuts-key.down:after,
.shortcuts-key.left:after,
.shortcuts-key.right:after {
display: block;
position: absolute;
text-align: center;
left: 5px;
top: 4px;
width: 16px;
height: 16px;
text-indent: 0;
}
.mac .shortcuts-key.ctrl:after {
content: '⌘';
}
.mac .shortcuts-key.shift:after {
content: '⇧';
}
.mac .shortcuts-key.alt:after {
content: '⌥';
}
.shortcuts-key.up:after {
content: '↑';
top: 2px;
}
.shortcuts-key.down:after {
content: '↓';
top: 2px;
}
.shortcuts-key.left:after {
content: '←';
top: 2px;
}
.shortcuts-key.right:after {
content: '→';
top: 2px;
}
div.right {
float: right;
}
#share-dialog {
display: none;
}
.command-button .fui-icon {
background: url(../images/icons.png) no-repeat;
background-position: 0 20px;
}
.appendchildnode.command-button .fui-icon {
background-position: 0 0px;
}
.appendsiblingnode.command-button .fui-icon {
background-position: 0 -20px;
}
.editnode.command-button .fui-icon {
background-position: 0 -60px;
}
.removenode.command-button .fui-icon {
background-position: 0 -80px;
}
.resetlayout.command-button .fui-icon {
background-position: 0 -150px;
}
.clearstyle.command-button .fui-icon {
background-position: 0 -175px;
}
.copystyle.command-button .fui-icon {
background-position: 0 -200px;
}
.pastestyle.command-button .fui-icon {
background-position: 0 -220px;
}
.bold.command-button .fui-icon {
background-position: 0 -240px;
}
.italic.command-button .fui-icon {
background-position: 0 -260px;
}
.arrangeup.command-button .fui-icon {
background-position: 0 -280px;
}
.arrangedown.command-button .fui-icon {
background-position: 0 -300px;
}
/*# sourceMappingURL=default.all.css.map */
\ No newline at end of file
{"version":3,"sources":["_triangle.less","_widgets.less","_vendor.less","_kityminder.less","_mainmenu.less","_history.less","_tab.less","_priority_panel.less","_progress_panel.less","_resource_panel.less","_themepanel.less","_fontpanel.less","_colorpanel.less","_about.less","_receiver.less","_help.less","_share.less","_icons.less"],"names":[],"mappings":"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"}
\ No newline at end of file
@import "_widgets";
@import "_kityminder";
@import "_mainmenu";
@import "_history";
@import "_tab";
@import "_priority_panel";
@import "_progress_panel";
@import "_resource_panel";
@import "_attachment_panel";
@import "_themepanel";
@import "_fontpanel";
@import "_colorpanel";
@import "_about";
@import "_receiver";
@import "_help";
@import "_share";
@import "_icons";
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" id="km-cat" viewBox="0 0 1200 1200" width="500" height="500">
<g id="cat-face">
<path d="M1066.769,368.482L1119.5,80L830,131.611C760.552,97.29,682.35,77.999,599.641,77.999
c-82.424,0-160.371,19.161-229.641,53.26L81,81l50.769,289l0,0c-33.792,69.019-52.77,146.612-52.77,228.641
c0,287.542,233.099,520.642,520.642,520.642s520.642-233.099,520.642-520.642C1120.282,516.011,1101.028,437.88,1066.769,368.482z"
/>
</g>
<g id="cat-eye">
<path style="fill:#FFFFFF;" d="M920.255,371C794.746,371,693,472.746,693,598.255s101.746,227.255,227.255,227.255
s227.255-101.746,227.255-227.255S1045.765,371,920.255,371z M920,746c-80.081,0-145-64.919-145-145s64.919-145,145-145
s145,64.919,145,145S1000.081,746,920,746z"/>
<path style="fill:#FFFFFF;" d="M276.255,371C150.746,371,49,472.746,49,598.255s101.746,227.255,227.255,227.255
s227.255-101.746,227.255-227.255S401.765,371,276.255,371z M276,745c-80.081,0-145-64.919-145-145s64.919-145,145-145
s145,64.919,145,145S356.081,745,276,745z"/>
</g>
</svg>
\ No newline at end of file
html,
body,
div {
margin: 0;
padding: 0;
overflow: hidden;
}
#content-wrapper {
overflow: hidden;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#kityminder {
position: absolute;
left: 0;
top: 48px;
right: 0;
bottom: 0;
-moz-user-select: none;
}
#panel {
background: #3a4050;
font-family: 'Hiragino Sans GB', 'Arial', 'Microsoft Yahei';
height: 40px;
overflow: visible;
padding: 0 15px;
position: relative;
border-bottom: 8px solid #5A6378;
}
.km_receiver {
width: 0;
height: 0;
}
.km-minderNode {
cursor: default;
}
.kmui-container {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.kmui-editor-body {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.kmui-container .kmui-toolbar {
background-color: #fff;
z-index: 999;
}
.kmui-toolbar .kmui-btn-toolbar {
padding: 5px;
border-bottom: 1px solid #f0f0f0;
}
.kmui-toolbar {
position: absolute;
left: 0;
right: 0;
top: 0;
}
.kmui-container .kmui-editor-body {
background: #fbfbfb;
/*line-height: 0;*/
overflow: hidden;
}
svg,
body {
font-family: Arial, "Microsoft Yahei", "Heiti SC", sans-serif;
}
#about {
position: absolute;
bottom: 0;
right: 0;
height: 40px;
line-height: 40px;
background: #5d697a;
color: #eee;
font-family: Arial;
font-size: 13px;
font-weight: normal;
margin: 0;
text-align: right;
padding: 0 15px 0 60px;
border-bottom: 5px solid #393F4F;
transition: all ease .3s 0.3s;
-webkit-transform: translate(100%);
-moz-transform: translate(100%);
-ms-transform: translate(100%);
-o-transform: translate(100%);
transform: translate(100%);
}
#about:hover,
#about:hover #km-cat {
-webkit-transform: translate(0);
-moz-transform: translate(0);
-ms-transform: translate(0);
-o-transform: translate(0);
transform: translate(0);
}
#about a {
color: #eee;
}
#about #km-cat {
position: absolute;
left: 15px;
top: 5px;
transition: all ease 1.3s 0.3s;
-webkit-transform: translate(-60px, 0);
-moz-transform: translate(-60px, 0);
-ms-transform: translate(-60px, 0);
-o-transform: translate(-60px, 0);
transform: translate(-60px, 0);
cursor: pointer;
}
#about #cat-face {
fill: #393F4F;
}
#km-version.new-version {
position: relative;
padding-right: 30px;
}
#km-version.new-version:after {
content: 'NEW';
color: #ff0;
position: absolute;
top: -10px;
right: -5px;
display: block;
background: #f00;
padding: 0 5px;
border-radius: 4px;
text-shadow: none;
box-shadow: -1px 1px 3px rgba(0, 0, 0, 0.3);
-webkit-transform: scale(0.6);
-moz-transform: scale(0.6);
-ms-transform: scale(0.6);
transform: scale(0.6);
}
@import "kityminder";
\ No newline at end of file
@import "vendor";
html, body, div {
margin: 0;
padding: 0;
overflow: hidden;
}
#content-wrapper {
overflow: hidden;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#kityminder {
position: absolute;
left: 0;
top: 48px;
right: 0;
bottom: 0;
-moz-user-select: none;
}
#panel {
background: hsl(224, 16%, 27%);
font-family: 'Hiragino Sans GB', 'Arial', 'Microsoft Yahei';
height: 40px;
overflow: visible;
padding: 0 15px;
position: relative;
border-bottom: 8px solid #5A6378;
}
.km_receiver{
width:0;
height:0;
}
.km-minderNode{
cursor: default;
}
.kmui-container {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.kmui-editor-body {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.kmui-container .kmui-toolbar{
background-color: #fff;
z-index: 999;
}
.kmui-container .kmui-toolbar:after {
}
.kmui-toolbar .kmui-btn-toolbar{
padding: 5px;
border-bottom: 1px solid #f0f0f0;
}
.kmui-toolbar {
position: absolute;
left: 0;
right: 0;
top: 0;
}
.kmui-container .kmui-editor-body {
background: #fbfbfb;
/*line-height: 0;*/
overflow: hidden;
}
svg, body {
font-family: Arial, "Microsoft Yahei", "Heiti SC", sans-serif;
}
#about {
position: absolute;
bottom: 0;
right: 0;
height: 40px;
line-height: 40px;
background: #5d697a;
color: #eee;
font-family:Arial;
font-size: 13px;
font-weight:normal;
margin:0;
text-align: right;
padding: 0 15px 0 60px;
border-bottom: 5px solid #393F4F;
transition: all ease .3s 0.3s;
-webkit-transform: translate(100%);
-moz-transform: translate(100%);
-ms-transform: translate(100%);
-o-transform: translate(100%);
transform: translate(100%);
&:hover, &:hover #km-cat {
-webkit-transform: translate(0);
-moz-transform: translate(0);
-ms-transform: translate(0);
-o-transform: translate(0);
transform: translate(0);
}
}
#about:hover, #about:hover #km-cat {
}
#about a {
color: #eee;
}
#about #km-cat {
position: absolute;
left: 15px;
top: 5px;
transition: all ease 1.3s 0.3s;
-webkit-transform: translate(-60px, 0);
-moz-transform: translate(-60px, 0);
-ms-transform: translate(-60px, 0);
-o-transform: translate(-60px, 0);
transform: translate(-60px, 0);
cursor: pointer;
}
#about #cat-face {
fill: #393F4F;
}
#km-version.new-version{position:relative;padding-right:30px}
#km-version.new-version:after{content:'NEW';color:#ff0;position:absolute;top:-10px;right:-5px;display:block;background:#f00;padding:0 5px;border-radius:4px;text-shadow:none;box-shadow:-1px 1px 3px rgba(0,0,0,0.3);-webkit-transform:scale(.6);-moz-transform:scale(.6);-ms-transform:scale(.6);transform:scale(.6)}
.kmui-dialog-resource {
width: 300px;
.add-resource {
padding: 10px;
input[type=text] {
width: 142px;
}
button {
margin-right: 0;
}
.global-resource {
list-style: none;
margin: 0;
padding: 5px 0 0;
li {
margin: 0 10px 5px 0;
display: inline-block;
label {
padding: 4px 8px 4px 6px;
display: block;
}
border-radius: 5px;
}
}
}
.no-selected {
padding: 10px;
}
}
\ No newline at end of file
KityMinder.registerUI('title', function (minder) {
var $title = $('<h1>').appendTo('#panel').text('百度脑图');
return $title;
});
\ No newline at end of file
(function() {
var uiQueue = [];
/* 注册一个新的 UI 交互 */
KityMinder.registerUI = function(id, deps, ui) {
if (typeof(deps) == 'function') {
ui = deps;
deps = null;
}
uiQueue.push({
id: id,
ui: ui,
deps: deps
});
};
kity.extendClass(Minder, {
/* 为实例注册 UI 交互 */
initUI: function() {
var ui = this._ui = {};
var minder = this;
uiQueue.forEach(function(uiDeal) {
var deps = uiDeal.deps;
if (deps) deps = deps.map(function(dep) {
return minder.getUI(dep);
});
ui[uiDeal.id] = uiDeal.ui.apply(null, [minder].concat(deps || []));
});
// 阻止非脑图事件冒泡
$('#content-wrapper').delegate('#panel, #tab-container, .fui-dialog', 'click mousedown keydown keyup', function(e) {
e.stopPropagation();
});
this.fire('interactchange');
},
/* 获得实例的 UI 实例 */
getUI: function(id) {
return this._ui[id];
}
});
var uiModule = [
'fuix',
'mainmenu',
'commandbutton',
'commandbuttonset',
'commandinputmenu',
'history',
'tabs',
'title',
'account',
'template',
'theme',
'layout',
'style',
'font',
'color',
'insertnode',
'arrange',
'nodeop',
'priority',
'progress',
'resource',
'attachment',
'link',
'image'
];
/* jshint evil: true */
uiModule.forEach(function(module) {
document.write('<script src="ui/' + module + '.js"></script>');
});
})();
\ No newline at end of file
Markdown is supported
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