X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/601fd5decd2c36c4612487b8bfeb6df7d94a4ac2..529d397b436dfefad66aabf7c1d56847d3c9cd56:/modules/rng/rng.js diff --git a/modules/rng/rng.js b/modules/rng/rng.js index c42b985..6f65c19 100644 --- a/modules/rng/rng.js +++ b/modules/rng/rng.js @@ -13,6 +13,29 @@ return function(sandbox) { views.mainTabs.addTab(title, slug, view); } + var commands = { + highlightDocumentNode: function(wlxmlNode, origin) { + ['documentCanvas', 'nodeBreadCrumbs', 'nodeFamilyTree'].forEach(function(moduleName) { + if(!origin || moduleName != origin) + sandbox.getModule(moduleName).highlightNode(wlxmlNode) + }); + }, + dimDocumentNode: function(wlxmlNode, origin) { + ['documentCanvas', 'nodeBreadCrumbs', 'nodeFamilyTree'].forEach(function(moduleName) { + if(!origin || moduleName != origin) + sandbox.getModule(moduleName).dimNode(wlxmlNode) + }); + }, + selectNode: function(wlxmlNode, origin) { + sandbox.getModule('documentCanvas').selectNode(wlxmlNode); + sandbox.getModule('nodePane').setNode(wlxmlNode); + sandbox.getModule('nodeFamilyTree').setNode(wlxmlNode); + sandbox.getModule('nodeBreadCrumbs').setNode(wlxmlNode); + + } + } + + var views = { mainLayout: new layout.Layout(mainLayoutTemplate), mainTabs: (new tabs.View()).render(), @@ -27,8 +50,6 @@ return function(sandbox) { sandbox.getDOM().append(views.mainLayout.getAsView()); views.visualEditingSidebar.addTab({icon: 'pencil'}, 'edit', views.currentNodePaneLayout.getAsView()); - - /* Events handling */ @@ -64,13 +85,6 @@ return function(sandbox) { } } - eventHandlers.rng2 = { - ready: function() { - addMainTab('rng2 test', 'rng2test', sandbox.getModule('rng2').getView()); - - } - } - eventHandlers.mainBar = { ready: function() { views.mainLayout.setView('topPanel', sandbox.getModule('mainBar').getView()); @@ -94,27 +108,20 @@ return function(sandbox) { views.visualEditing.setView('leftColumn', sandbox.getModule('documentCanvas').getView()); }, - nodeSelected: function(node) { - sandbox.getModule('nodePane').setNode(node); - sandbox.getModule('nodeFamilyTree').setNode(node); - sandbox.getModule('nodeBreadCrumbs').setNode(node); + nodeSelected: function(wlxmlNode) { + commands.selectNode(wlxmlNode); }, contentChanged: function() { }, - nodeHovered: function(node) { - sandbox.getModule('documentCanvas').highlightNode(node.attr('id')); - sandbox.getModule('nodeFamilyTree').highlightNode(node.attr('id')); - sandbox.getModule('nodeBreadCrumbs').highlightNode(node.attr('id')); - + nodeHovered: function(wlxmlNode) { + commands.highlightDocumentNode(wlxmlNode); }, - nodeBlured: function(node) { - sandbox.getModule('documentCanvas').dimNode(node.attr('id')); - sandbox.getModule('nodeFamilyTree').dimNode(node.attr('id')); - sandbox.getModule('nodeBreadCrumbs').dimNode(node.attr('id')); + nodeBlured: function(wlxmlNode) { + commands.dimDocumentNode(wlxmlNode); } }; @@ -139,14 +146,14 @@ return function(sandbox) { ready: function() { views.currentNodePaneLayout.appendView(sandbox.getModule('nodeFamilyTree').getView()); }, - nodeEntered: function(id) { - sandbox.getModule('documentCanvas').highlightNode(id); + nodeEntered: function(wlxmlNode) { + commands.highlightDocumentNode(wlxmlNode, 'nodeFamilyTree'); }, - nodeLeft: function(id) { - sandbox.getModule('documentCanvas').dimNode(id); + nodeLeft: function(wlxmlNode) { + commands.dimDocumentNode(wlxmlNode, 'nodeFamilyTree'); }, - nodeSelected: function(id) { - sandbox.getModule('documentCanvas').selectNode(id); + nodeSelected: function(wlxmlNode) { + commands.selectNode(wlxmlNode); } }; @@ -170,14 +177,14 @@ return function(sandbox) { ready: function() { views.visualEditing.setView('statusBar', sandbox.getModule('nodeBreadCrumbs').getView()); }, - nodeHighlighted: function(id) { - sandbox.getModule('documentCanvas').highlightNode(id); + nodeHighlighted: function(wlxmlNode) { + commands.highlightDocumentNode(wlxmlNode, 'nodeBreadCrumbs'); }, - nodeDimmed: function(id) { - sandbox.getModule('documentCanvas').dimNode(id); + nodeDimmed: function(wlxmlNode) { + commands.dimDocumentNode(wlxmlNode, 'nodeBreadCrumbs'); }, - nodeSelected: function(id) { - sandbox.getModule('documentCanvas').selectNode(id); + nodeSelected: function(wlxmlNode) { + commands.selectNode(wlxmlNode); } }