Commit 02ac2067 authored by Akikonata's avatar Akikonata

changed funcs

parent ae46c37d
...@@ -16,8 +16,6 @@ var MinderDefaultOptions = { ...@@ -16,8 +16,6 @@ var MinderDefaultOptions = {
var Minder = KityMinder.Minder = kity.createClass( "KityMinder", { var Minder = KityMinder.Minder = kity.createClass( "KityMinder", {
constructor: function ( options ) { constructor: function ( options ) {
this._options = Utils.extend( window.KITYMINDER_CONFIG || {}, MinderDefaultOptions, options ); this._options = Utils.extend( window.KITYMINDER_CONFIG || {}, MinderDefaultOptions, options );
this._layoutStyles = {};
this._currentStyle = "";
this._initEvents(); this._initEvents();
this._initMinder(); this._initMinder();
this._initSelection(); this._initSelection();
...@@ -29,14 +27,14 @@ var Minder = KityMinder.Minder = kity.createClass( "KityMinder", { ...@@ -29,14 +27,14 @@ var Minder = KityMinder.Minder = kity.createClass( "KityMinder", {
getOptions: function ( key ) { getOptions: function ( key ) {
return this._options[ key ]; return this._options[ key ];
}, },
setDefaultOptions:function(key,val){ setDefaultOptions: function ( key, val ) {
var obj = {}; var obj = {};
if (utils.isString(key)) { if ( Utils.isString( key ) ) {
obj[key] = val obj[ key ] = val;
} else { } else {
obj = key; obj = key;
} }
utils.extend(this._options, obj, true); Utils.extend( this._options, obj, true );
}, },
_initMinder: function () { _initMinder: function () {
...@@ -46,7 +44,6 @@ var Minder = KityMinder.Minder = kity.createClass( "KityMinder", { ...@@ -46,7 +44,6 @@ var Minder = KityMinder.Minder = kity.createClass( "KityMinder", {
this._paper.getNode().setAttribute( 'contenteditable', true ); this._paper.getNode().setAttribute( 'contenteditable', true );
this._root = new MinderNode(); this._root = new MinderNode();
this._rc.addShape( this._root.getRenderContainer() ); this._rc.addShape( this._root.getRenderContainer() );
if ( this._options.renderTo ) { if ( this._options.renderTo ) {
this.renderTo( this._options.renderTo ); this.renderTo( this._options.renderTo );
} }
...@@ -64,62 +61,48 @@ var Minder = KityMinder.Minder = kity.createClass( "KityMinder", { ...@@ -64,62 +61,48 @@ var Minder = KityMinder.Minder = kity.createClass( "KityMinder", {
getPaper: function () { getPaper: function () {
return this._paper; return this._paper;
}, },
addLayoutStyle: function ( name, style ) {
this._layoutStyles[ name ] = style;
},
getLayoutStyle: function ( name ) {
return this._layoutStyles[ name ];
},
getCurrentStyle: function () {
return this._currentStyle;
},
setCurrentStyle: function ( name ) {
this._currentStyle = name;
return name;
},
getRenderTarget: function () { getRenderTarget: function () {
return this._renderTarget; return this._renderTarget;
}, },
_initShortcutKey:function(){ _initShortcutKey: function () {
this._shortcutkeys = {}; this._shortcutkeys = {};
this._bindshortcutKeys(); this._bindshortcutKeys();
}, },
addShortcutKeys: function (cmd, keys) { addShortcutKeys: function ( cmd, keys ) {
var obj = {}; var obj = {};
if (keys) { if ( keys ) {
obj[cmd] = keys obj[ cmd ] = keys
} else { } else {
obj = cmd; obj = cmd;
} }
utils.extend(this._shortcutkeys, obj) utils.extend( this._shortcutkeys, obj )
}, },
_bindshortcutKeys: function () { _bindshortcutKeys: function () {
var me = this, shortcutkeys = this._shortcutkeys; var me = this,
me.on('keydown', function (e) { shortcutkeys = this._shortcutkeys;
me.on( 'keydown', function ( e ) {
var originEvent = e.originEvent; var originEvent = e.originEvent;
var keyCode = originEvent.keyCode || originEvent.which; var keyCode = originEvent.keyCode || originEvent.which;
for (var i in shortcutkeys) { for ( var i in shortcutkeys ) {
var tmp = shortcutkeys[i].split(','); var tmp = shortcutkeys[ i ].split( ',' );
for (var t = 0, ti; ti = tmp[t++];) { for ( var t = 0, ti; ti = tmp[ t++ ]; ) {
ti = ti.split(':'); ti = ti.split( ':' );
var key = ti[0], param = ti[1]; var key = ti[ 0 ],
if (/^(ctrl)(\+shift)?\+(\d+)$/.test(key.toLowerCase()) || /^(\d+)$/.test(key)) { param = ti[ 1 ];
if (( (RegExp.$1 == 'ctrl' ? (originEvent.ctrlKey || originEvent.metaKey) : 0) if ( /^(ctrl)(\+shift)?\+(\d+)$/.test( key.toLowerCase() ) || /^(\d+)$/.test( key ) ) {
&& (RegExp.$2 != "" ? originEvent[RegExp.$2.slice(1) + "Key"] : 1) if ( ( ( RegExp.$1 == 'ctrl' ? ( originEvent.ctrlKey || originEvent.metaKey ) : 0 ) && ( RegExp.$2 != "" ? originEvent[ RegExp.$2.slice( 1 ) + "Key" ] : 1 ) && keyCode == RegExp.$3 ) ||
&& keyCode == RegExp.$3
) ||
keyCode == RegExp.$1 keyCode == RegExp.$1
) { ) {
if (me.queryCommandState(i,param) != -1) if ( me.queryCommandState( i, param ) != -1 )
me.execCommand(i, param); me.execCommand( i, param );
e.preventDefault(); e.preventDefault();
} }
} }
} }
} }
}); } );
} }
} ); } );
......
...@@ -328,7 +328,6 @@ KityMinder.registerModule( "LayoutDefault", function () { ...@@ -328,7 +328,6 @@ KityMinder.registerModule( "LayoutDefault", function () {
break; break;
} }
}; };
//判断根据父节点位置定位还是自身已经带有位置属性 //判断根据父节点位置定位还是自身已经带有位置属性
if ( parent ) { if ( parent ) {
countX( node ); countX( node );
......
KityMinder.registerModule( "LayoutModule", function () { KityMinder.registerModule( "LayoutModule", function () {
kity.extendClass( Minder, {
addLayoutStyle: function ( name, style ) {
if ( !this._layoutStyles ) this._layoutStyles = {};
this._layoutStyles[ name ] = style;
},
getLayoutStyle: function ( name ) {
return this._layoutStyles[ name ];
},
getCurrentStyle: function () {
var _root = this.getRoot();
return _root.getData( "currentstyle" );
},
setCurrentStyle: function ( name ) {
var _root = this.getRoot();
_root.setData( "currentstyle", name );
return name;
},
renderNode: function ( node ) {
var curStyle = this.getCurrentStyle();
this.getLayoutStyle( curStyle ).renderNode.call( this, node );
},
initStyle: function () {
var curStyle = this.getCurrentStyle();
this.getLayoutStyle( curStyle ).initStyle.call( this );
},
appendChildNode: function ( parent, node, index ) {
var curStyle = this.getCurrentStyle();
this.getLayoutStyle( curStyle ).appendChildNode.call( this, parent, node, index );
},
appendSiblingNode: function ( sibling, node ) {
var curStyle = this.getCurrentStyle();
this.getLayoutStyle( curStyle ).appendSiblingNode.call( this, sibling, node );
},
removeNode: function ( nodes ) {
var curStyle = this.getCurrentStyle();
this.getLayoutStyle( curStyle ).appendChildNode.call( this, nodes );
},
updateLayout: function ( node ) {
var curStyle = this.getCurrentStyle();
this.getLayoutStyle( curStyle ).updateLayout.call( this, node );
}
} );
kity.extendClass( MinderNode, { kity.extendClass( MinderNode, {
setLayout: function ( k, v ) { setLayout: function ( k, v ) {
if ( this.setData( 'layout' ) === undefined ) { if ( this.setData( 'layout' ) === undefined ) {
...@@ -26,14 +68,7 @@ KityMinder.registerModule( "LayoutModule", function () { ...@@ -26,14 +68,7 @@ KityMinder.registerModule( "LayoutModule", function () {
_root.preTraverse( function ( n ) { _root.preTraverse( function ( n ) {
n.clearLayout(); n.clearLayout();
} ); } );
var _style = km.getLayoutStyle( style ); km.setCurrentStyle( style );
if ( !_style ) return false;
km.renderNode = _style.renderNode;
km.initStyle = _style.initStyle;
km.appendChildNode = _style.appendChildNode;
km.appendSiblingNode = _style.appendSiblingNode;
km.removeNode = _style.removeNode;
km.updateLayout = _style.updateLayout;
km.initStyle(); km.initStyle();
return style; return style;
}; };
...@@ -90,6 +125,9 @@ KityMinder.registerModule( "LayoutModule", function () { ...@@ -90,6 +125,9 @@ KityMinder.registerModule( "LayoutModule", function () {
"ready": function () { "ready": function () {
switchLayout( this, this.getOptions( 'layoutstyle' ) ); switchLayout( this, this.getOptions( 'layoutstyle' ) );
} }
},
"defaultOptions": {
"layoutstyle": "default"
} }
}; };
} ); } );
\ 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