48 lines
1.9 KiB
JavaScript
48 lines
1.9 KiB
JavaScript
kampfer.require('mindMap.Window');
|
|
kampfer.require('mindMap.ToolBar');
|
|
kampfer.require('mindMap.command.Controller');
|
|
kampfer.require('Menu');
|
|
kampfer.require('events');
|
|
|
|
kampfer.provide('mindMap');
|
|
kampfer.provide('mindMap.window');
|
|
kampfer.provide('mindMap.toolBar');
|
|
kampfer.provide('mindMap.nodeContextMenu');
|
|
kampfer.provide('mindMap.contextMenu');
|
|
|
|
kampfer.mindMap.init = function() {
|
|
var nodeContextMenu = document.getElementById('node-context-menu'),
|
|
contextMenu = document.getElementById('context-menu');
|
|
|
|
kampfer.mindMap.toolBar = new kampfer.mindMap.ToolBar('app-tool-bar');
|
|
kampfer.mindMap.window = new kampfer.mindMap.Window('map-container');
|
|
kampfer.mindMap.nodeContextMenu = new kampfer.Menu(nodeContextMenu);
|
|
kampfer.mindMap.contextMenu = new kampfer.Menu(contextMenu);
|
|
|
|
kampfer.mindMap.command.controller = new kampfer.mindMap.command.Controller(kampfer.mindMap.window);
|
|
|
|
function checkMenuCommand(event) {
|
|
var commands = event.currentTarget.getElement().querySelectorAll('[command]');
|
|
for(var i = 0, command; (command = commands[i]); i++) {
|
|
var name = command.getAttribute('command');
|
|
if( !kampfer.mindMap.command.controller.isCommandAvalilable(name) ) {
|
|
this.disable(i);
|
|
} else {
|
|
this.enable(i);
|
|
}
|
|
}
|
|
}
|
|
|
|
kampfer.mindMap.toolBar.eachChild(function(child) {
|
|
child.addListener('beforemenushow', checkMenuCommand);
|
|
});
|
|
kampfer.mindMap.contextMenu.addListener('beforemenushow', checkMenuCommand);
|
|
kampfer.mindMap.nodeContextMenu.addListener('beforemenushow', checkMenuCommand);
|
|
|
|
kampfer.events.addListener(window, 'beforeunload', function(event) {
|
|
if( kampfer.mindMap.mapManager && kampfer.mindMap.mapManager.isModified() ) {
|
|
event.returnValue = 'map未保存,确定退出?';
|
|
return 'map未保存,确定退出?';
|
|
}
|
|
});
|
|
}; |