Commit 840b3b4a authored by techird's avatar techird

merge from dev

parents 5ae8b85c 47d75e57
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
1. 添加了剪贴板操作的支持 1. 添加了剪贴板操作的支持
2. 添加了本地自动保存草稿的功能 2. 添加了本地自动保存草稿的功能
3. 发布版本上添加了 Github 地址 3. 发布版本上添加了 Github 地址
4. 优化了文字选中效果
### 功能调整 ### 功能调整
......
/*! /*!
* ==================================================== * ====================================================
* kityminder - v1.0.0 - 2014-03-18 * kityminder - v1.0.0 - 2014-03-19
* https://github.com/fex-team/kityminder * https://github.com/fex-team/kityminder
* GitHub: https://github.com/fex-team/kityminder.git * GitHub: https://github.com/fex-team/kityminder.git
* Copyright (c) 2014 f-cube @ FEX; Licensed MIT * Copyright (c) 2014 f-cube @ FEX; Licensed MIT
...@@ -968,9 +968,9 @@ Utils.extend( KityMinder, { ...@@ -968,9 +968,9 @@ Utils.extend( KityMinder, {
return KityMinder._protocals[ name ] || null; return KityMinder._protocals[ name ] || null;
}, },
getSupportedProtocals: function () { getSupportedProtocals: function () {
return Utils.keys( KityMinder._protocals ).sort(function(a, b) { return Utils.keys( KityMinder._protocals ).sort( function ( a, b ) {
return KityMinder._protocals[b].recognizePriority - KityMinder._protocals[a].recognizePriority; return KityMinder._protocals[ b ].recognizePriority - KityMinder._protocals[ a ].recognizePriority;
}); } );
}, },
getAllRegisteredProtocals: function () { getAllRegisteredProtocals: function () {
return KityMinder._protocals; return KityMinder._protocals;
...@@ -991,18 +991,23 @@ function exportNode( node ) { ...@@ -991,18 +991,23 @@ function exportNode( node ) {
return exported; return exported;
} }
function importNode( node, json ) { var DEFAULT_TEXT = {
'root': 'maintopic',
'main': 'topic'
};
function importNode( node, json, km ) {
var data = json.data; var data = json.data;
for ( var field in data ) { for ( var field in data ) {
node.setData( field, data[ field ] ); node.setData( field, data[ field ] );
} }
node.setText( data.text ); node.setText( data.text || km.getLang( DEFAULT_TEXT[ data.type ] ) );
var childrenTreeData = json.children; var childrenTreeData = json.children;
if ( !childrenTreeData ) return; if ( !childrenTreeData ) return;
for ( var i = 0; i < childrenTreeData.length; i++ ) { for ( var i = 0; i < childrenTreeData.length; i++ ) {
var childNode = new MinderNode(); var childNode = new MinderNode();
importNode( childNode, childrenTreeData[ i ] ); importNode( childNode, childrenTreeData[ i ], km );
node.appendChild( childNode ); node.appendChild( childNode );
} }
return node; return node;
...@@ -1061,7 +1066,7 @@ kity.extendClass( Minder, { ...@@ -1061,7 +1066,7 @@ kity.extendClass( Minder, {
this._root.removeChild( 0 ); this._root.removeChild( 0 );
} }
importNode( this._root, json ); importNode( this._root, json, this );
this._fire( new MinderEvent( 'import', params, false ) ); this._fire( new MinderEvent( 'import', params, false ) );
this._firePharse( { this._firePharse( {
...@@ -4700,16 +4705,27 @@ Minder.Receiver = kity.createClass('Receiver',{ ...@@ -4700,16 +4705,27 @@ Minder.Receiver = kity.createClass('Receiver',{
return false; return false;
} }
if(offset.x >= v.x && offset.x <= v.x + v.width){ if(offset.x >= v.x && offset.x <= v.x + v.width){
if(me.index == i){ if(me.index == i){
if(i == 0){ if(i == 0){
me.selection.setStartOffset(i) me.selection.setStartOffset(i)
} }
me.selection.setEndOffset(i + (dir == 1 ? 1 : 0)) if(offset.x <= v.x + v.width/2){
me.selection.collapse()
}else {
me.selection.setEndOffset(i + (me.selection.endOffset > i || dir == 1 ? 1 : 0))
}
}else if(i > me.index){ }else if(i > me.index){
me.selection.setStartOffset(me.index); me.selection.setStartOffset(me.index);
me.selection.setEndOffset(i + (dir == 1 ? 1 : 0)) me.selection.setEndOffset(i + 1)
}else{ }else{
me.selection.setStartOffset(i + (dir == 1 ? 1 : 0)); if(dir == 1){
me.selection.setStartOffset(i + (offset.x >= v.x + v.width/2 ? 1 : 0));
}else{
me.selection.setStartOffset(i);
}
me.selection.setEndOffset(me.index) me.selection.setEndOffset(me.index)
} }
...@@ -4723,7 +4739,6 @@ Minder.Receiver = kity.createClass('Receiver',{ ...@@ -4723,7 +4739,6 @@ Minder.Receiver = kity.createClass('Receiver',{
endOffset = this.textData[this.selection.endOffset], endOffset = this.textData[this.selection.endOffset],
width = 0 ; width = 0 ;
if(this.selection.collapsed){ if(this.selection.collapsed){
this.selection.updateShow(startOffset||this.textData[this.textData.length-1],0); this.selection.updateShow(startOffset||this.textData[this.textData.length-1],0);
return this; return this;
} }
...@@ -4819,6 +4834,12 @@ Minder.Selection = kity.createClass( 'Selection', { ...@@ -4819,6 +4834,12 @@ Minder.Selection = kity.createClass( 'Selection', {
this.setShowHold(); this.setShowHold();
} }
this.setPosition(offset).setWidth(width); this.setPosition(offset).setWidth(width);
//解决在框选内容时,出现很窄的光标
if(width == 0){
this.setOpacity(0);
}else{
this.setOpacity(0.5);
}
return this; return this;
}, },
setPosition: function ( offset ) { setPosition: function ( offset ) {
...@@ -4829,7 +4850,6 @@ Minder.Selection = kity.createClass( 'Selection', { ...@@ -4829,7 +4850,6 @@ Minder.Selection = kity.createClass( 'Selection', {
} catch ( e ) { } catch ( e ) {
console.log(e) console.log(e)
} }
return this.update(); return this.update();
}, },
setHeight: function ( height ) { setHeight: function ( height ) {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -67,10 +67,10 @@ $( function () { ...@@ -67,10 +67,10 @@ $( function () {
$user_menu.attachTo( $user_btn ); $user_menu.attachTo( $user_btn );
$save_btn = $( '<button>保存</button>' ).click( saveThisFile ) $save_btn = $( '<button id="save-btn">保存</button>' ).click( saveThisFile )
.addClass( 'baidu-cloud' ).appendTo( $panel ).disabled( true ); .addClass( 'baidu-cloud' ).appendTo( $panel ).disabled( true );
$share_btn = $( '<button>分享</button>' ).click( shareThisFile ) $share_btn = $( '<button id="share-btn">分享</button>' ).click( shareThisFile )
.addClass( 'share' ).appendTo( $panel ).disabled( true ); .addClass( 'share' ).appendTo( $panel ).disabled( true );
......
...@@ -7,9 +7,9 @@ Utils.extend( KityMinder, { ...@@ -7,9 +7,9 @@ Utils.extend( KityMinder, {
return KityMinder._protocals[ name ] || null; return KityMinder._protocals[ name ] || null;
}, },
getSupportedProtocals: function () { getSupportedProtocals: function () {
return Utils.keys( KityMinder._protocals ).sort(function(a, b) { return Utils.keys( KityMinder._protocals ).sort( function ( a, b ) {
return KityMinder._protocals[b].recognizePriority - KityMinder._protocals[a].recognizePriority; return KityMinder._protocals[ b ].recognizePriority - KityMinder._protocals[ a ].recognizePriority;
}); } );
}, },
getAllRegisteredProtocals: function () { getAllRegisteredProtocals: function () {
return KityMinder._protocals; return KityMinder._protocals;
...@@ -30,18 +30,23 @@ function exportNode( node ) { ...@@ -30,18 +30,23 @@ function exportNode( node ) {
return exported; return exported;
} }
function importNode( node, json ) { var DEFAULT_TEXT = {
'root': 'maintopic',
'main': 'topic'
};
function importNode( node, json, km ) {
var data = json.data; var data = json.data;
for ( var field in data ) { for ( var field in data ) {
node.setData( field, data[ field ] ); node.setData( field, data[ field ] );
} }
node.setText( data.text ); node.setText( data.text || km.getLang( DEFAULT_TEXT[ data.type ] ) );
var childrenTreeData = json.children; var childrenTreeData = json.children;
if ( !childrenTreeData ) return; if ( !childrenTreeData ) return;
for ( var i = 0; i < childrenTreeData.length; i++ ) { for ( var i = 0; i < childrenTreeData.length; i++ ) {
var childNode = new MinderNode(); var childNode = new MinderNode();
importNode( childNode, childrenTreeData[ i ] ); importNode( childNode, childrenTreeData[ i ], km );
node.appendChild( childNode ); node.appendChild( childNode );
} }
return node; return node;
...@@ -100,7 +105,7 @@ kity.extendClass( Minder, { ...@@ -100,7 +105,7 @@ kity.extendClass( Minder, {
this._root.removeChild( 0 ); this._root.removeChild( 0 );
} }
importNode( this._root, json ); importNode( this._root, json, this );
this._fire( new MinderEvent( 'import', params, false ) ); this._fire( new MinderEvent( 'import', params, false ) );
this._firePharse( { this._firePharse( {
......
...@@ -275,16 +275,27 @@ Minder.Receiver = kity.createClass('Receiver',{ ...@@ -275,16 +275,27 @@ Minder.Receiver = kity.createClass('Receiver',{
return false; return false;
} }
if(offset.x >= v.x && offset.x <= v.x + v.width){ if(offset.x >= v.x && offset.x <= v.x + v.width){
if(me.index == i){ if(me.index == i){
if(i == 0){ if(i == 0){
me.selection.setStartOffset(i) me.selection.setStartOffset(i)
} }
me.selection.setEndOffset(i + (dir == 1 ? 1 : 0)) if(offset.x <= v.x + v.width/2){
me.selection.collapse()
}else {
me.selection.setEndOffset(i + (me.selection.endOffset > i || dir == 1 ? 1 : 0))
}
}else if(i > me.index){ }else if(i > me.index){
me.selection.setStartOffset(me.index); me.selection.setStartOffset(me.index);
me.selection.setEndOffset(i + (dir == 1 ? 1 : 0)) me.selection.setEndOffset(i + 1)
}else{ }else{
me.selection.setStartOffset(i + (dir == 1 ? 1 : 0)); if(dir == 1){
me.selection.setStartOffset(i + (offset.x >= v.x + v.width/2 ? 1 : 0));
}else{
me.selection.setStartOffset(i);
}
me.selection.setEndOffset(me.index) me.selection.setEndOffset(me.index)
} }
...@@ -298,7 +309,6 @@ Minder.Receiver = kity.createClass('Receiver',{ ...@@ -298,7 +309,6 @@ Minder.Receiver = kity.createClass('Receiver',{
endOffset = this.textData[this.selection.endOffset], endOffset = this.textData[this.selection.endOffset],
width = 0 ; width = 0 ;
if(this.selection.collapsed){ if(this.selection.collapsed){
this.selection.updateShow(startOffset||this.textData[this.textData.length-1],0); this.selection.updateShow(startOffset||this.textData[this.textData.length-1],0);
return this; return this;
} }
......
...@@ -63,6 +63,12 @@ Minder.Selection = kity.createClass( 'Selection', { ...@@ -63,6 +63,12 @@ Minder.Selection = kity.createClass( 'Selection', {
this.setShowHold(); this.setShowHold();
} }
this.setPosition(offset).setWidth(width); this.setPosition(offset).setWidth(width);
//解决在框选内容时,出现很窄的光标
if(width == 0){
this.setOpacity(0);
}else{
this.setOpacity(0.5);
}
return this; return this;
}, },
setPosition: function ( offset ) { setPosition: function ( offset ) {
...@@ -73,7 +79,6 @@ Minder.Selection = kity.createClass( 'Selection', { ...@@ -73,7 +79,6 @@ Minder.Selection = kity.createClass( 'Selection', {
} catch ( e ) { } catch ( e ) {
console.log(e) console.log(e)
} }
return this.update(); return this.update();
}, },
setHeight: function ( height ) { setHeight: function ( height ) {
......
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