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
f8ac596f
Commit
f8ac596f
authored
May 06, 2014
by
campaign
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加选中节点后可直接输入文字
parent
c40c4bf7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
104 additions
and
41 deletions
+104
-41
keymap.js
src/core/keymap.js
+20
-1
editor.js
src/module/editor.js
+84
-40
No files found.
src/core/keymap.js
View file @
f8ac596f
...
...
@@ -48,5 +48,24 @@ var keymap = KityMinder.keymap = {
's'
:
83
,
'n'
:
78
'n'
:
78
,
'notContentInput'
:{
13
:
1
,
9
:
1
,
33
:
1
,
34
:
1
,
35
:
1
,
36
:
1
,
16
:
1
,
17
:
1
,
18
:
1
,
//上下左右
37
:
1
,
38
:
1
,
39
:
1
,
40
:
1
},
'isSelectedNodeKey'
:{
//上下左右
37
:
1
,
38
:
1
,
39
:
1
,
40
:
1
,
13
:
1
,
9
:
1
}
};
\ No newline at end of file
src/module/editor.js
View file @
f8ac596f
...
...
@@ -20,6 +20,7 @@ KityMinder.registerModule( "TextEditModule", function () {
var
selectionByClick
=
false
;
return
{
"events"
:
{
//插入光标
...
...
@@ -75,6 +76,49 @@ KityMinder.registerModule( "TextEditModule", function () {
}
}
},
//当输入键值是内容时,进入textedit状态
'normal.beforekeydown'
:
function
(
e
){
var
node
=
this
.
getSelectedNode
();
if
(
node
){
if
(
this
.
isSingleSelect
()
&&
node
.
isSelected
())
{
var
keyCode
=
e
.
originEvent
.
keyCode
;
if
(
!
keymap
.
notContentInput
[
keyCode
]){
km
.
setStatus
(
'textedit'
)
}
}
}
},
//当节点选区通过键盘发生变化时,输入状态要准备好
'normal.keyup'
:
function
(
e
){
var
node
=
this
.
getSelectedNode
();
if
(
node
){
if
(
this
.
isSingleSelect
()
&&
node
.
isSelected
())
{
var
keyCode
=
e
.
originEvent
.
keyCode
;
if
(
keymap
.
isSelectedNodeKey
[
keyCode
]
&&
km
.
getStatus
()
!=
'textedit'
){
//准备输入状态
var
textShape
=
node
.
getTextShape
();
sel
.
setHide
();
sel
.
setStartOffset
(
0
);
sel
.
setEndOffset
(
textShape
.
getContent
().
length
);
receiver
.
setTextEditStatus
(
true
)
.
setSelection
(
sel
)
.
setKityMinder
(
this
)
.
setMinderNode
(
node
)
.
setTextShape
(
textShape
)
.
setRange
(
range
)
.
setBaseOffset
()
.
setContainerStyle
()
.
setSelectionHeight
()
.
setContainerTxt
(
textShape
.
getContent
())
.
updateRange
(
range
).
setTextEditStatus
(
true
);
sel
.
setData
(
'relatedNode'
,
node
);
}
}
}
},
'normal.mouseup textedit.mouseup'
:
function
(
e
){
if
(
mouseDownStatus
){
...
...
@@ -92,9 +136,9 @@ KityMinder.registerModule( "TextEditModule", function () {
var
node
=
e
.
getTargetNode
();
if
(
node
){
if
(
this
.
isSingleSelect
()
&&
node
.
isSelected
())
{
//准备输入状态
var
textShape
=
node
.
getTextShape
();
km
.
setStatus
(
'textedit'
);
sel
.
setHide
();
sel
.
setStartOffset
(
0
);
sel
.
setEndOffset
(
textShape
.
getContent
().
length
);
...
...
@@ -166,45 +210,45 @@ KityMinder.registerModule( "TextEditModule", function () {
sel
.
setHide
();
},
"execCommand"
:
function
(
e
)
{
var
cmds
=
{
'appendchildnode'
:
1
,
'appendsiblingnode'
:
1
,
'editnode'
:
1
};
if
(
cmds
[
e
.
commandName
]
){
var
node
=
km
.
getSelectedNode
();
if
(
!
node
){
return
;
}
var
textShape
=
node
.
getTextShape
();
textShape
.
setStyle
(
'cursor'
,
'default'
);
node
.
getTextShape
().
setStyle
(
'cursor'
,
'text'
);
km
.
setStatus
(
'textedit'
);
receiver
.
setTextEditStatus
(
true
)
.
setSelection
(
sel
)
.
setKityMinder
(
this
)
.
setMinderNode
(
node
)
.
setTextShape
(
textShape
)
.
setBaseOffset
()
.
setContainerStyle
()
.
setSelectionHeight
()
.
getTextOffsetData
()
.
setIndex
(
0
)
.
updateSelection
()
.
setRange
(
range
);
sel
.
setStartOffset
(
0
);
sel
.
setEndOffset
(
textShape
.
getContent
().
length
);
sel
.
setShow
();
receiver
.
updateSelectionShow
(
1
)
.
updateRange
(
range
);
return
;
}
//
var cmds = {
//
'appendchildnode' : 1,
//
'appendsiblingnode' : 1,
//
'editnode' : 1
//
};
//
if ( cmds[ e.commandName ] ){
//
//
var node = km.getSelectedNode();
//
if( !node ){
//
return;
//
}
//
//
var textShape = node.getTextShape();
//
//
textShape.setStyle('cursor','default');
//
node.getTextShape().setStyle('cursor','text');
//
km.setStatus('textedit');
//
receiver.setTextEditStatus(true)
//
.setSelection(sel)
//
.setKityMinder(this)
//
.setMinderNode(node)
//
.setTextShape(textShape)
//
.setBaseOffset()
//
.setContainerStyle()
//
.setSelectionHeight()
//
.getTextOffsetData()
//
.setIndex(0)
//
.updateSelection()
//
.setRange(range);
//
//
sel.setStartOffset(0);
//
sel.setEndOffset(textShape.getContent().length);
//
sel.setShow();
//
//
receiver.updateSelectionShow(1)
//
.updateRange(range);
//
return;
//
//
}
if
((
e
.
commandName
==
'priority'
||
e
.
commandName
==
'progress'
)
&&
this
.
getStatus
()
==
'textedit'
){
...
...
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