Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kityminder-core
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
吴志俊
kityminder-core
Commits
f1cad447
Commit
f1cad447
authored
Nov 06, 2014
by
techird
Browse files
Options
Browse Files
Download
Plain Diff
merge fish bone
parents
b1d271c5
9da90ad5
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
437 additions
and
80 deletions
+437
-80
import.js
import.js
+6
-0
zh-cn.js
lang/zh-cn/zh-cn.js
+4
-1
kity
lib/kity
+1
-1
export.php
native-support/export.php
+2
-1
fish-bone-master.js
src/connect/fish-bone-master.js
+28
-0
layout.js
src/core/layout.js
+8
-7
filetree.js
src/layout/filetree.js
+82
-67
fish-bone-master.js
src/layout/fish-bone-master.js
+73
-0
fish-bone-slave.js
src/layout/fish-bone-slave.js
+68
-0
outline.js
src/module/outline.js
+34
-1
filetree.js
src/template/filetree.js
+1
-1
fish-bone.js
src/template/fish-bone.js
+38
-0
fish.js
src/theme/fish.js
+53
-0
wire.js
src/theme/wire.js
+30
-0
share.js
ui/menu/share/share.js
+1
-1
_mainmenu.new.less
ui/theme/default/css/_mainmenu.new.less
+4
-0
_themepanel.less
ui/theme/default/css/_themepanel.less
+4
-0
template.png
ui/theme/default/images/template.png
+0
-0
template_large.png
ui/theme/default/images/template_large.png
+0
-0
No files found.
import.js
View file @
f1cad447
...
@@ -60,6 +60,8 @@
...
@@ -60,6 +60,8 @@
{
path
:
'src/layout/mind.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/mind.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/filetree.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/filetree.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/btree.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/btree.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/fish-bone-master.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/layout/fish-bone-slave.js'
,
pack
:
'edit|share|m-share'
},
/* 连线 */
/* 连线 */
{
path
:
'src/connect/bezier.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/bezier.js'
,
pack
:
'edit|share|m-share'
},
...
@@ -67,17 +69,21 @@
...
@@ -67,17 +69,21 @@
{
path
:
'src/connect/arc.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/arc.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/under.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/under.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/l.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/l.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/connect/fish-bone-master.js'
,
pack
:
'edit|share|m-share'
},
/* 皮肤 */
/* 皮肤 */
{
path
:
'src/theme/default.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/default.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/snow.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/snow.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/fresh.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/fresh.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/fish.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/theme/wire.js'
,
pack
:
'edit|share|m-share'
},
/* 模板 */
/* 模板 */
{
path
:
'src/template/default.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/default.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/structure.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/structure.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/filetree.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/filetree.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/right.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/right.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/template/fish-bone.js'
,
pack
:
'edit|share|m-share'
},
/* 模块 */
/* 模块 */
{
path
:
'src/module/node.js'
,
pack
:
'edit|share|m-share'
},
{
path
:
'src/module/node.js'
,
pack
:
'edit|share|m-share'
},
...
...
lang/zh-cn/zh-cn.js
View file @
f1cad447
...
@@ -3,11 +3,14 @@ KityMinder.LANG['zh-cn'] = {
...
@@ -3,11 +3,14 @@ KityMinder.LANG['zh-cn'] = {
'default'
:
'思维导图'
,
'default'
:
'思维导图'
,
'structure'
:
'组织结构图'
,
'structure'
:
'组织结构图'
,
'filetree'
:
'目录组织图'
,
'filetree'
:
'目录组织图'
,
'right'
:
'逻辑结构图'
'right'
:
'逻辑结构图'
,
'fish-bone'
:
'鱼骨头图'
},
},
'theme'
:
{
'theme'
:
{
'classic'
:
'脑图经典'
,
'classic'
:
'脑图经典'
,
'snow'
:
'温柔冷光'
,
'snow'
:
'温柔冷光'
,
'fish'
:
'鱼骨图'
,
'wire'
:
'线框'
,
'fresh-red'
:
'清新红'
,
'fresh-red'
:
'清新红'
,
'fresh-soil'
:
'泥土黄'
,
'fresh-soil'
:
'泥土黄'
,
'fresh-green'
:
'文艺绿'
,
'fresh-green'
:
'文艺绿'
,
...
...
kity
@
36b51b09
Subproject commit
8f52e73cc57a447f268e71783d44e34ee028f763
Subproject commit
36b51b090c28d9d362f00e1023fcb3dc6317585d
native-support/export.php
View file @
f1cad447
...
@@ -32,3 +32,4 @@ if ($download) {
...
@@ -32,3 +32,4 @@ if ($download) {
}
}
readfile
(
$file
);
readfile
(
$file
);
unlink
(
$file
);
\ No newline at end of file
src/connect/fish-bone-master.js
0 → 100644
View file @
f1cad447
/**
* @fileOverview
*
* 鱼骨头主干连线
*
* @author: techird
* @copyright: Baidu FEX, 2014
*/
KityMinder
.
registerConnectProvider
(
'fish-bone-master'
,
function
(
node
,
parent
,
connection
)
{
var
pout
=
parent
.
getLayoutVertexOut
(),
pin
=
node
.
getLayoutVertexIn
();
var
abs
=
Math
.
abs
;
var
dy
=
abs
(
pout
.
y
-
pin
.
y
),
dx
=
abs
(
pout
.
x
-
pin
.
x
);
var
pathData
=
[];
pathData
.
push
(
'M'
,
pout
.
x
,
pout
.
y
);
pathData
.
push
(
'h'
,
dx
-
dy
);
pathData
.
push
(
'L'
,
pin
.
x
,
pin
.
y
);
connection
.
setMarker
(
null
);
connection
.
setPathData
(
pathData
);
});
\ No newline at end of file
src/core/layout.js
View file @
f1cad447
...
@@ -17,8 +17,8 @@ Utils.extend(KityMinder, {
...
@@ -17,8 +17,8 @@ Utils.extend(KityMinder, {
getLayoutInstance
:
function
(
name
)
{
getLayoutInstance
:
function
(
name
)
{
var
LayoutClass
=
KityMinder
.
_layout
[
name
];
var
LayoutClass
=
KityMinder
.
_layout
[
name
];
if
(
!
LayoutClass
)
throw
new
Error
(
'Missing Layout: '
+
name
);
var
layout
=
new
LayoutClass
();
var
layout
=
new
LayoutClass
();
if
(
!
layout
)
throw
new
Error
(
'Missing Layout: '
+
name
);
return
layout
;
return
layout
;
}
}
});
});
...
@@ -239,27 +239,28 @@ kity.extendClass(Minder, {
...
@@ -239,27 +239,28 @@ kity.extendClass(Minder, {
node
.
setLayoutTransform
(
null
);
node
.
setLayoutTransform
(
null
);
});
});
function
layoutNode
(
node
)
{
function
layoutNode
(
node
,
round
)
{
// layout all children first
// layout all children first
// 剪枝:收起的节点无需计算
// 剪枝:收起的节点无需计算
if
(
node
.
isExpanded
()
||
true
)
{
if
(
node
.
isExpanded
()
||
true
)
{
node
.
children
.
forEach
(
function
(
child
)
{
node
.
children
.
forEach
(
function
(
child
)
{
layoutNode
(
child
);
layoutNode
(
child
,
round
);
});
});
}
}
var
layout
=
node
.
getLayoutInstance
();
var
layout
=
node
.
getLayoutInstance
();
layout
.
doLayout
(
node
,
node
.
getChildren
().
filter
(
function
(
child
)
{
var
childrenInFlow
=
node
.
getChildren
().
filter
(
function
(
child
)
{
return
!
child
.
hasLayoutOffset
();
return
!
child
.
hasLayoutOffset
();
}));
});
layout
.
doLayout
(
node
,
childrenInFlow
,
round
);
}
}
// 第一轮布局
// 第一轮布局
layoutNode
(
this
.
getRoot
());
layoutNode
(
this
.
getRoot
()
,
1
);
// 第二轮布局
// 第二轮布局
layoutNode
(
this
.
getRoot
());
layoutNode
(
this
.
getRoot
()
,
2
);
duration
=
duration
?
300
:
0
;
duration
=
duration
?
300
:
0
;
...
...
src/layout/filetree.js
View file @
f1cad447
/* global Layout:true */
/* global Layout:true */
KityMinder
.
registerLayout
(
'filetree'
,
kity
.
createClass
({
[
-
1
,
1
].
forEach
(
function
(
dir
)
{
var
name
=
'filetree-'
+
(
dir
>
0
?
'down'
:
'up'
);
KityMinder
.
registerLayout
(
name
,
kity
.
createClass
({
base
:
Layout
,
base
:
Layout
,
doLayout
:
function
(
parent
,
children
)
{
doLayout
:
function
(
parent
,
children
,
round
)
{
var
pBox
=
parent
.
getContentBox
();
var
pBox
=
parent
.
getContentBox
();
var
indent
=
20
;
var
indent
=
20
;
parent
.
setVertexOut
(
new
kity
.
Point
(
pBox
.
left
+
indent
,
pBox
.
bottom
));
parent
.
setVertexOut
(
new
kity
.
Point
(
pBox
.
left
+
indent
,
dir
>
0
?
pBox
.
bottom
:
pBox
.
top
));
parent
.
setLayoutVectorOut
(
new
kity
.
Vector
(
0
,
1
));
parent
.
setLayoutVectorOut
(
new
kity
.
Vector
(
0
,
dir
));
if
(
!
children
.
length
)
return
;
if
(
!
children
.
length
)
return
;
...
@@ -26,10 +30,19 @@ KityMinder.registerLayout('filetree', kity.createClass({
...
@@ -26,10 +30,19 @@ KityMinder.registerLayout('filetree', kity.createClass({
xAdjust
+=
pBox
.
left
;
xAdjust
+=
pBox
.
left
;
xAdjust
+=
indent
;
xAdjust
+=
indent
;
xAdjust
+=
children
[
0
].
getStyle
(
'margin-left'
);
xAdjust
+=
children
[
0
].
getStyle
(
'margin-left'
);
var
yAdjust
=
0
;
var
yAdjust
=
0
;
if
(
dir
>
0
)
{
yAdjust
+=
pBox
.
bottom
;
yAdjust
+=
pBox
.
bottom
;
yAdjust
+=
parent
.
getStyle
(
'margin-bottom'
);
yAdjust
+=
parent
.
getStyle
(
'margin-bottom'
);
yAdjust
+=
children
[
0
].
getStyle
(
'margin-top'
);
yAdjust
+=
children
[
0
].
getStyle
(
'margin-top'
);
}
else
{
yAdjust
-=
this
.
getTreeBox
(
children
).
bottom
;
yAdjust
+=
pBox
.
top
;
yAdjust
-=
parent
.
getStyle
(
'margin-top'
);
yAdjust
-=
children
[
0
].
getStyle
(
'margin-bottom'
);
}
this
.
move
(
children
,
xAdjust
,
yAdjust
);
this
.
move
(
children
,
xAdjust
,
yAdjust
);
...
@@ -65,4 +78,6 @@ KityMinder.registerLayout('filetree', kity.createClass({
...
@@ -65,4 +78,6 @@ KityMinder.registerLayout('filetree', kity.createClass({
});
});
return
hint
;
return
hint
;
}
}
}));
}));
\ No newline at end of file
});
\ No newline at end of file
src/layout/fish-bone-master.js
0 → 100644
View file @
f1cad447
/**
* @fileOverview
*
* 鱼骨图主骨架布局
*
* @author: techird
* @copyright: Baidu FEX, 2014
*/
/* global Layout:true */
KityMinder
.
registerLayout
(
'fish-bone-master'
,
kity
.
createClass
(
'FishBoneMasterLayout'
,
{
base
:
Layout
,
doLayout
:
function
(
parent
,
children
,
round
)
{
var
upPart
=
[],
downPart
=
[];
var
child
=
children
[
0
];
var
pBox
=
parent
.
getContentBox
();
parent
.
setVertexOut
(
new
kity
.
Point
(
pBox
.
right
,
pBox
.
cy
));
parent
.
setLayoutVectorOut
(
new
kity
.
Vector
(
1
,
0
));
if
(
!
child
)
return
;
var
cBox
=
child
.
getContentBox
();
var
pMarginRight
=
parent
.
getStyle
(
'margin-right'
);
var
cMarginLeft
=
child
.
getStyle
(
'margin-left'
);
var
cMarginTop
=
child
.
getStyle
(
'margin-top'
);
var
cMarginBottom
=
child
.
getStyle
(
'margin-bottom'
);
children
.
forEach
(
function
(
child
,
index
)
{
child
.
setLayoutTransform
(
new
kity
.
Matrix
());
var
cBox
=
child
.
getContentBox
();
if
(
index
%
2
)
{
downPart
.
push
(
child
);
child
.
setVertexIn
(
new
kity
.
Point
(
cBox
.
left
,
cBox
.
top
));
child
.
setLayoutVectorIn
(
new
kity
.
Vector
(
1
,
1
));
}
else
{
upPart
.
push
(
child
);
child
.
setVertexIn
(
new
kity
.
Point
(
cBox
.
left
,
cBox
.
bottom
));
child
.
setLayoutVectorIn
(
new
kity
.
Vector
(
1
,
-
1
));
}
});
this
.
stack
(
upPart
,
'x'
);
this
.
stack
(
downPart
,
'x'
);
this
.
align
(
upPart
,
'bottom'
);
this
.
align
(
downPart
,
'top'
);
var
xAdjust
=
pBox
.
right
+
pMarginRight
+
cMarginLeft
;
var
yAdjustUp
=
pBox
.
cy
-
cMarginBottom
-
parent
.
getStyle
(
'margin-top'
);
var
yAdjustDown
=
pBox
.
cy
+
cMarginTop
+
parent
.
getStyle
(
'margin-bottom'
);
this
.
move
(
upPart
,
xAdjust
,
yAdjustUp
);
this
.
move
(
downPart
,
xAdjust
+
cMarginLeft
,
yAdjustDown
);
// children.forEach(function(child, index) {
// var matrix = child.getLayoutTransform();
// var dx, dy;
// dx = matrix.getMatrix().e;
// dy = matrix.getMatrix().f;
// matrix.translate(-dx, -dy);
// matrix.rotate(index % 2 ? 45 : -45);
// matrix.translate(dx, dy);
// });
}
}));
\ No newline at end of file
src/layout/fish-bone-slave.js
0 → 100644
View file @
f1cad447
/**
* @fileOverview
*
*
*
* @author: techird
* @copyright: Baidu FEX, 2014
*/
/* global Layout: true */
KityMinder
.
registerLayout
(
'fish-bone-slave'
,
kity
.
createClass
(
'FishBoneSlaveLayout'
,
{
base
:
Layout
,
doLayout
:
function
(
parent
,
children
,
round
)
{
var
layout
=
this
;
var
abs
=
Math
.
abs
;
var
GOLD_CUT
=
1
-
0.618
;
var
pBox
=
parent
.
getContentBox
();
var
vi
=
parent
.
getLayoutVectorIn
();
parent
.
setLayoutVectorOut
(
vi
);
var
goldX
=
pBox
.
left
+
pBox
.
width
*
GOLD_CUT
;
var
pout
=
new
kity
.
Point
(
goldX
,
vi
.
y
>
0
?
pBox
.
bottom
:
pBox
.
top
);
parent
.
setVertexOut
(
pout
);
var
child
=
children
[
0
];
if
(
!
child
)
return
;
var
cBox
=
child
.
getContentBox
();
children
.
forEach
(
function
(
child
,
index
)
{
child
.
setLayoutTransform
(
new
kity
.
Matrix
());
child
.
setLayoutVectorIn
(
new
kity
.
Vector
(
1
,
0
));
child
.
setVertexIn
(
new
kity
.
Point
(
cBox
.
left
,
cBox
.
cy
));
});
this
.
stack
(
children
,
'y'
);
this
.
align
(
children
,
'left'
);
var
xAdjust
=
0
,
yAdjust
=
0
;
xAdjust
+=
pout
.
x
;
if
(
parent
.
getLayoutVectorOut
().
y
<
0
)
{
yAdjust
-=
this
.
getTreeBox
(
children
).
bottom
;
yAdjust
+=
parent
.
getContentBox
().
top
;
yAdjust
-=
parent
.
getStyle
(
'margin-top'
);
yAdjust
-=
child
.
getStyle
(
'margin-bottom'
);
}
else
{
yAdjust
+=
parent
.
getContentBox
().
bottom
;
yAdjust
+=
parent
.
getStyle
(
'margin-bottom'
);
yAdjust
+=
child
.
getStyle
(
'margin-top'
);
}
this
.
move
(
children
,
xAdjust
,
yAdjust
);
if
(
round
==
2
)
{
children
.
forEach
(
function
(
child
)
{
var
m
=
child
.
getLayoutTransform
();
var
cbox
=
child
.
getContentBox
();
var
pin
=
m
.
transformPoint
(
new
kity
.
Point
(
cbox
.
left
,
0
));
layout
.
move
([
child
],
abs
(
pin
.
y
-
pout
.
y
),
0
);
});
}
}
}));
\ No newline at end of file
src/module/outline.js
View file @
f1cad447
...
@@ -62,6 +62,15 @@ var ShadowRenderer = kity.createClass('ShadowRenderer', {
...
@@ -62,6 +62,15 @@ var ShadowRenderer = kity.createClass('ShadowRenderer', {
}
}
});
});
var
marker
=
new
kity
.
Marker
();
marker
.
setWidth
(
10
);
marker
.
setHeight
(
12
);
marker
.
setRef
(
0
,
0
);
marker
.
setViewBox
(
-
6
,
-
4
,
8
,
10
);
marker
.
addShape
(
new
kity
.
Path
().
setPathData
(
'M-5-3l5,3,-5,3'
).
stroke
(
'#33ffff'
));
var
wireframeOption
=
/wire/
.
test
(
window
.
location
.
href
);
var
wireframeOption
=
/wire/
.
test
(
window
.
location
.
href
);
var
WireframeRenderer
=
kity
.
createClass
(
'WireframeRenderer'
,
{
var
WireframeRenderer
=
kity
.
createClass
(
'WireframeRenderer'
,
{
base
:
Renderer
,
base
:
Renderer
,
...
@@ -75,7 +84,15 @@ var WireframeRenderer = kity.createClass('WireframeRenderer', {
...
@@ -75,7 +84,15 @@ var WireframeRenderer = kity.createClass('WireframeRenderer', {
var
box
=
this
.
wireframe
=
new
kity
.
Rect
()
var
box
=
this
.
wireframe
=
new
kity
.
Rect
()
.
stroke
(
'lightgreen'
);
.
stroke
(
'lightgreen'
);
return
wireframe
.
addShapes
([
oxy
,
box
]);
var
vectorIn
=
this
.
vectorIn
=
new
kity
.
Path
()
.
stroke
(
'#66ffff'
);
var
vectorOut
=
this
.
vectorOut
=
new
kity
.
Path
()
.
stroke
(
'#66ffff'
);
vectorIn
.
setMarker
(
marker
,
'end'
);
vectorOut
.
setMarker
(
marker
,
'end'
);
return
wireframe
.
addShapes
([
oxy
,
box
,
vectorIn
,
vectorOut
]);
},
},
shouldRender
:
function
()
{
shouldRender
:
function
()
{
...
@@ -86,11 +103,27 @@ var WireframeRenderer = kity.createClass('WireframeRenderer', {
...
@@ -86,11 +103,27 @@ var WireframeRenderer = kity.createClass('WireframeRenderer', {
this
.
wireframe
this
.
wireframe
.
setPosition
(
box
.
x
,
box
.
y
)
.
setPosition
(
box
.
x
,
box
.
y
)
.
setSize
(
box
.
width
,
box
.
height
);
.
setSize
(
box
.
width
,
box
.
height
);
var
pin
=
node
.
getVertexIn
();
var
pout
=
node
.
getVertexOut
();
var
vin
=
node
.
getLayoutVectorIn
().
normalize
(
30
);
var
vout
=
node
.
getLayoutVectorOut
().
normalize
(
30
);
this
.
vectorIn
.
setPathData
([
'M'
,
pin
.
offset
(
vin
.
reverse
()),
'L'
,
pin
]);
this
.
vectorOut
.
setPathData
([
'M'
,
pout
,
'l'
,
vout
]);
}
}
});
});
KityMinder
.
registerModule
(
'OutlineModule'
,
function
()
{
KityMinder
.
registerModule
(
'OutlineModule'
,
function
()
{
return
{
return
{
events
:
(
!
wireframeOption
?
null
:
{
'ready'
:
function
()
{
this
.
getPaper
().
addResource
(
marker
);
},
'layoutallfinish'
:
function
()
{
this
.
getRoot
().
traverse
(
function
(
node
)
{
node
.
getRenderer
(
'WireframeRenderer'
).
update
(
null
,
node
,
node
.
getContentBox
());
});
}
}),
renderers
:
{
renderers
:
{
outline
:
OutlineRenderer
,
outline
:
OutlineRenderer
,
outside
:
[
ShadowRenderer
,
WireframeRenderer
]
outside
:
[
ShadowRenderer
,
WireframeRenderer
]
...
...
src/template/filetree.js
View file @
f1cad447
...
@@ -13,7 +13,7 @@ KityMinder.registerTemplate('filetree', {
...
@@ -13,7 +13,7 @@ KityMinder.registerTemplate('filetree', {
if
(
node
.
getData
(
'layout'
))
return
node
.
getData
(
'layout'
);
if
(
node
.
getData
(
'layout'
))
return
node
.
getData
(
'layout'
);
if
(
node
.
isRoot
())
return
'bottom'
;
if
(
node
.
isRoot
())
return
'bottom'
;
return
'filetree'
;
return
'filetree
-down
'
;
},
},
getConnect
:
function
(
node
)
{
getConnect
:
function
(
node
)
{
...
...
src/template/fish-bone.js
0 → 100644
View file @
f1cad447
/**
* @fileOverview
*
* 默认模板 - 鱼骨头模板
*
* @author: techird
* @copyright: Baidu FEX, 2014
*/
KityMinder
.
registerTemplate
(
'fish-bone'
,
{
getLayout
:
function
(
node
)
{
if
(
node
.
getData
(
'layout'
))
return
node
.
getData
(
'layout'
);
var
level
=
node
.
getLevel
();
// 根节点
if
(
level
===
0
)
{
return
'fish-bone-master'
;
}
// 一级节点
if
(
level
===
1
)
{
return
'fish-bone-slave'
;
}
return
node
.
getLayoutPointPreview
().
y
>
0
?
'filetree-up'
:
'filetree-down'
;
},
getConnect
:
function
(
node
)
{
switch
(
node
.
getLevel
())
{
case
1
:
return
'fish-bone-master'
;
case
2
:
return
'line'
;
default
:
return
'l'
;
}
}
});
\ No newline at end of file
src/theme/fish.js
0 → 100644
View file @
f1cad447
KityMinder
.
registerTheme
(
'fish'
,
{
'background'
:
'#3A4144 url(ui/theme/default/images/grid.png) repeat'
,
'root-color'
:
'#430'
,
'root-background'
:
'#e9df98'
,
'root-stroke'
:
'#e9df98'
,
'root-font-size'
:
24
,
'root-padding'
:
[
35
,
35
],
'root-margin'
:
30
,
'root-radius'
:
100
,
'root-space'
:
10
,
'root-shadow'
:
'rgba(0, 0, 0, .25)'
,
'main-color'
:
'#333'
,
'main-background'
:
'#a4c5c0'
,
'main-stroke'
:
'#a4c5c0'
,
'main-font-size'
:
16
,
'main-padding'
:
[
6
,
20
],
'main-margin'
:
[
20
,
20
],
'main-radius'
:
5
,
'main-space'
:
5
,
'main-shadow'
:
'rgba(0, 0, 0, .25)'
,
'sub-color'
:
'black'
,
'sub-background'
:
'white'
,
'sub-stroke'
:
'white'
,
'sub-font-size'
:
12
,
'sub-padding'
:
[
5
,
10
],
'sub-margin'
:
[
10
],
'sub-radius'
:
5
,
'sub-space'
:
5
,
'connect-color'
:
'white'
,
'connect-width'
:
3
,
'main-connect-width'
:
3
,
'connect-radius'
:
5
,
'selected-background'
:
'rgb(254, 219, 0)'
,
'selected-stroke'
:
'rgb(254, 219, 0)'
,
'marquee-background'
:
'rgba(255,255,255,.3)'
,
'marquee-stroke'
:
'white'
,
'drop-hint-color'
:
'yellow'
,
'drop-hint-width'
:
4
,
'order-hint-area-color'
:
'rgba(0, 255, 0, .5)'
,
'order-hint-path-color'
:
'#0f0'
,
'order-hint-path-width'
:
1
,
'text-selection-color'
:
'rgb(27,171,255)'
,
'line-height'
:
1.5
});
\ No newline at end of file
src/theme/wire.js
0 → 100644
View file @
f1cad447
KityMinder
.
registerTheme
(
'wire'
,
{
'background'
:
'black'
,
'color'
:
'#999'
,
'stroke'
:
'none'
,
'padding'
:
10
,
'margin'
:
20
,
'font-size'
:
14
,
'connect-color'
:
'#999'
,
'connect-width'
:
1
,
'selected-background'
:
'#999'
,
'selected-color'
:
'black'
,
'marquee-background'
:
'rgba(255,255,255,.3)'
,
'marquee-stroke'
:
'white'
,
'drop-hint-color'
:
'yellow'
,
'sub-drop-hint-width'
:
2
,
'main-drop-hint-width'
:
4
,
'root-drop-hint-width'
:
4
,
'order-hint-area-color'
:
'rgba(0, 255, 0, .5)'
,
'order-hint-path-color'
:
'#0f0'
,
'order-hint-path-width'
:
1
,
'text-selection-color'
:
'rgb(27,171,255)'
,
'line-height'
:
1.5
});
\ No newline at end of file
ui/menu/share/share.js
View file @
f1cad447
ui/theme/default/css/_mainmenu.new.less
View file @
f1cad447
...
@@ -57,6 +57,10 @@
...
@@ -57,6 +57,10 @@
background-position: -300px 0;
background-position: -300px 0;
}
}
&.fish-bone:after {
background-position: -400px 0;
}
&:hover {
&:hover {
a {
a {
color: @main-menu-theme-color;
color: @main-menu-theme-color;
...
...
ui/theme/default/css/_themepanel.less
View file @
f1cad447
...
@@ -60,6 +60,10 @@
...
@@ -60,6 +60,10 @@
&.right .fui-icon {
&.right .fui-icon {
background-position: -150px 0;
background-position: -150px 0;
}
}
&.fish-bone .fui-icon {
background-position: -200px 0;
}
}
}
.fui-button.theme {
.fui-button.theme {
...
...
ui/theme/default/images/template.png
View replaced file @
b1d271c5
View file @
f1cad447
1.54 KB
|
W:
|
H:
1.83 KB
|
W:
|
H:
2-up
Swipe
Onion skin
ui/theme/default/images/template_large.png
View replaced file @
b1d271c5
View file @
f1cad447
4.14 KB
|
W:
|
H:
4.87 KB
|
W:
|
H:
2-up
Swipe
Onion skin
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment